]> sourceware.org Git - newlib-cygwin.git/commitdiff
localtime 1.82
authorCorinna Vinschen <corinna@vinschen.de>
Tue, 28 Apr 2020 19:35:41 +0000 (21:35 +0200)
committerCorinna Vinschen <corinna@vinschen.de>
Tue, 28 Apr 2020 19:35:41 +0000 (21:35 +0200)
winsup/cygwin/localtime.cc

index 7324fbd98aa725b1053d614b7ea68724e1663c03..dccaa623a3bcf96eb83d88bce588b62a29c08272 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: localtime.c,v 1.81 2013/12/26 18:34:28 christos Exp $  */
+/*     $NetBSD: localtime.c,v 1.82 2014/05/13 16:33:56 christos Exp $  */
 
 /*
 ** This file is in the public domain, so clarified as of
@@ -88,7 +88,7 @@ static char   privatehid[] = "@(#)private.h   7.48";
 #if 0
 static char    elsieid[] = "@(#)localtime.cc   8.17";
 #else
-__RCSID("$NetBSD: localtime.c,v 1.81 2013/12/26 18:34:28 christos Exp $");
+__RCSID("$NetBSD: localtime.c,v 1.82 2014/05/13 16:33:56 christos Exp $");
 #endif
 
 /*
@@ -678,7 +678,7 @@ tzload(timezone_t sp, const char *name, const int doextend)
        u_t *                   up;
        save_errno              save;
 
-       up = (u_t *) calloc(1, sizeof *up);
+       up = (u_t *) malloc(sizeof *up);
        if (up == NULL)
                return -1;
 
@@ -1377,6 +1377,7 @@ tzparse(timezone_t sp, const char *name, const int lastditch)
                        sp->ttis[1].tt_gmtoff = -stdoffset;
                        sp->ttis[1].tt_isdst = 0;
                        sp->ttis[1].tt_abbrind = 0;
+                       sp->defaulttype = 0;
                        timecnt = 0;
                        janfirst = 0;
                        sp->timecnt = 0;
@@ -1514,6 +1515,7 @@ tzparse(timezone_t sp, const char *name, const int lastditch)
                        sp->ttis[1].tt_isdst = TRUE;
                        sp->ttis[1].tt_abbrind = (int)(stdlen + 1);
                        sp->typecnt = 2;
+                       sp->defaulttype = 0;
                        /*
                        ** Get zone offsets into tzinfo (for newlib). . .
                        */
@@ -1533,6 +1535,7 @@ tzparse(timezone_t sp, const char *name, const int lastditch)
                sp->ttis[0].tt_gmtoff = -stdoffset;
                sp->ttis[0].tt_isdst = 0;
                sp->ttis[0].tt_abbrind = 0;
+               sp->defaulttype = 0;
                /*
                ** Get zone offsets into tzinfo (for newlib). . .
                */
@@ -1581,7 +1584,7 @@ tzsetwall (void)
 
        if (lclptr == NULL) {
                save_errno save;
-               lclptr = (timezone_t) calloc(1, sizeof *lclptr);
+               lclptr = (timezone_t) malloc(sizeof *lclptr);
                if (lclptr == NULL) {
                        settzname();    /* all we can do */
                        return;
@@ -1704,7 +1707,7 @@ tzset_unlocked(void)
 
        if (lclptr == NULL) {
                save_errno save;
-               lclptr = (timezone_t) calloc(1, sizeof *lclptr);
+               lclptr = (timezone_t) malloc(sizeof *lclptr);
                if (lclptr == NULL) {
                        settzname();    /* all we can do */
                        return;
@@ -1857,7 +1860,7 @@ gmtsub(const timezone_t sp, const time_t *const timep,
        if (!gmt_is_set) {
                save_errno save;
                gmt_is_set = TRUE;
-               gmtptr = (timezone_t) calloc(1, sizeof *gmtptr);
+               gmtptr = (timezone_t) malloc(sizeof *gmtptr);
                if (gmtptr != NULL)
                        gmtload(gmtptr);
        }
@@ -1870,15 +1873,7 @@ gmtsub(const timezone_t sp, const time_t *const timep,
        ** but this is no time for a treasure hunt.
        */
        if (CYGWIN_VERSION_CHECK_FOR_EXTRA_TM_MEMBERS)
-         {
-           if (offset != 0)
-                   tmp->TM_ZONE = wildabbr;
-           else {
-                   if (gmtptr == NULL)
-                           tmp->TM_ZONE = gmt;
-                   else        tmp->TM_ZONE = gmtptr->chars;
-           }
-         }
+         tmp->TM_ZONE = offset ? wildabbr : gmtptr ? gmtptr->chars : gmt;
 #endif /* defined TM_ZONE */
        return result;
 }
@@ -2439,17 +2434,15 @@ time1(const timezone_t sp, struct tm *const tmp, subfun_t funcp,
        if (tmp->tm_isdst > 1)
                tmp->tm_isdst = 1;
        t = time2(sp, tmp, funcp, offset, &okay);
-#ifdef PCTS
-       /*
-       ** PCTS code courtesy Grant Sullivan.
-       */
        if (okay)
                return t;
        if (tmp->tm_isdst < 0)
+#ifdef PCTS
+               /*
+               ** POSIX Conformance Test Suite code courtesy Grant Sullivan.
+               */
                tmp->tm_isdst = 0;      /* reset to std and try again */
-#endif /* defined PCTS */
-#ifndef PCTS
-       if (okay || tmp->tm_isdst < 0)
+#else
                return t;
 #endif /* !defined PCTS */
        /*
This page took 0.036729 seconds and 5 git commands to generate.