Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/lib/libc/time The typecnt refers the to ttis array and the t...



details:   https://anonhg.NetBSD.org/src/rev/17c8a1b48fb6
branches:  trunk
changeset: 450271:17c8a1b48fb6
user:      christos <christos%NetBSD.org@localhost>
date:      Mon Apr 08 18:50:52 2019 +0000

description:
The typecnt refers the to ttis array and the timecnt refers to the type array.
The types array can have 0 elements (i.e. timecnt == 0), but the ttis array
needs to have one element (typecnt >= 1). Need to revisit and take into
account the types array.

diffstat:

 lib/libc/time/localtime.c |  11 ++++-------
 1 files changed, 4 insertions(+), 7 deletions(-)

diffs (49 lines):

diff -r 9f909bb5124a -r 17c8a1b48fb6 lib/libc/time/localtime.c
--- a/lib/libc/time/localtime.c Mon Apr 08 18:38:45 2019 +0000
+++ b/lib/libc/time/localtime.c Mon Apr 08 18:50:52 2019 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: localtime.c,v 1.119 2019/04/07 14:58:25 christos Exp $ */
+/*     $NetBSD: localtime.c,v 1.120 2019/04/08 18:50:52 christos Exp $ */
 
 /* Convert timestamp from time_t to struct tm.  */
 
@@ -12,7 +12,7 @@
 #if 0
 static char    elsieid[] = "@(#)localtime.c    8.17";
 #else
-__RCSID("$NetBSD: localtime.c,v 1.119 2019/04/07 14:58:25 christos Exp $");
+__RCSID("$NetBSD: localtime.c,v 1.120 2019/04/08 18:50:52 christos Exp $");
 #endif
 #endif /* LIBC_SCCS and not lint */
 
@@ -289,7 +289,7 @@
 {
        int i;
        for (i = 0; i < sp->typecnt; ++i) {
-               const struct ttinfo *const ttisp = &sp->ttis[sp->types[i]];
+               const struct ttinfo *const ttisp = &sp->ttis[i];
                if (ttisp->tt_isdst == isdst)
                        return &sp->chars[ttisp->tt_abbrind];
        }
@@ -303,12 +303,10 @@
        int i;
        long l = -1;
        for (i = 0; i < sp->typecnt; ++i) {
-               const struct ttinfo *const ttisp = &sp->ttis[sp->types[i]];
+               const struct ttinfo *const ttisp = &sp->ttis[i];
 
                if (ttisp->tt_isdst == isdst) {
                        l = ttisp->tt_gmtoff;
-                       if (sp->types[i] != 0)
-                               return l;
                }
        }
        if (l == -1)
@@ -1394,7 +1392,6 @@
                sp->typecnt = 1;
                sp->charcnt = 0;
                sp->goback = sp->goahead = false;
-               sp->types[0] = 0;
                init_ttinfo(&sp->ttis[0], 0, false, 0);
                strcpy(sp->chars, gmt);
                sp->defaulttype = 0;



Home | Main Index | Thread Index | Old Index