OSDN Git Service

* localtime.c: Changed whole file to become C++ clean. Rename to
authorcorinna <corinna>
Wed, 25 Jul 2001 21:58:21 +0000 (21:58 +0000)
committercorinna <corinna>
Wed, 25 Jul 2001 21:58:21 +0000 (21:58 +0000)
        localtime.cc.
        * localtime.cc (tzload): Preserve errno.

winsup/cygwin/ChangeLog
winsup/cygwin/localtime.cc [moved from winsup/cygwin/localtime.c with 93% similarity]

index b1e31f1..496038e 100644 (file)
@@ -1,3 +1,9 @@
+Wed 25 Jul 2001 23:46:00  Corinna Vinschen <corinna@vinschen.de>
+
+       * localtime.c: Changed whole file to become C++ clean. Rename to
+       localtime.cc.
+       * localtime.cc (tzload): Preserve errno.
+
 Fri 20 Jul 2001 11:15:50 PM EDT  Christopher Faylor <cgf@cygnus.com>
 
        * cygheap.cc (cygheap_fixup_in_child): Attempt Win95 workaround.
similarity index 93%
rename from winsup/cygwin/localtime.c
rename to winsup/cygwin/localtime.cc
index f465172..573ec8c 100644 (file)
@@ -6,6 +6,7 @@
 
 /* CYGNUS LOCAL */
 #include "winsup.h"
+#include "cygerrno.h"
 #include <windows.h>
 #define lint
 
@@ -97,7 +98,6 @@ static char   privatehid[] = "@(#)private.h   7.48";
 
 #include "sys/types.h" /* for time_t */
 #include "stdio.h"
-#include "errno.h"
 #include "limits.h"    /* for CHAR_BIT */
 #include "time.h"
 #include "stdlib.h"
@@ -196,28 +196,6 @@ extern int unlink P((const char * filename));
 #endif /* !defined remove */
 
 /*
-** Some ancient errno.h implementations don't declare errno.
-** But some newer errno.h implementations define it as a macro.
-** Fix the former without affecting the latter.
-*/
-#ifndef errno
-extern int errno;
-#endif /* !defined errno */
-
-/*
-** Private function declarations.
-*/
-char * icalloc P((int nelem, int elsize));
-char * icatalloc P((char * old, const char * new));
-char * icpyalloc P((const char * string));
-char * imalloc P((int n));
-void * irealloc P((void * pointer, int size));
-void   icfree P((char * pointer));
-void   ifree P((char * pointer));
-char * scheck P((const char *string, const char *format));
-
-
-/*
 ** Finally, some convenience items.
 */
 
@@ -671,8 +649,7 @@ time_t                      altzone = 0;
 #endif /* defined ALTZONE */
 
 static long
-detzcode(codep)
-const char * const     codep;
+detzcode(const char *codep)
 {
        register long   result;
        register int    i;
@@ -736,13 +713,12 @@ settzname P((void))
 #include "tz_posixrules.h"
 
 static int
-tzload(name, sp)
-register const char *          name;
-register struct state * const  sp;
+tzload(const char *name, struct state *sp)
 {
        register const char *   p;
        register int            i;
        register int            fid;
+       save_errno              save;
 
        if (name == NULL && (name = TZDEFAULT) == NULL)
                return -1;
@@ -916,8 +892,7 @@ static const int    year_lengths[2] = {
 */
 
 static const char *
-getzname(strp)
-register const char *  strp;
+getzname(const char *strp)
 {
        register char   c;
 
@@ -935,11 +910,7 @@ register const char *      strp;
 */
 
 static const char *
-getnum(strp, nump, min, max)
-register const char *  strp;
-int * const            nump;
-const int              min;
-const int              max;
+getnum(const char *strp, int *nump, const int min, const int max)
 {
        register char   c;
        register int    num;
@@ -968,9 +939,7 @@ const int           max;
 */
 
 static const char *
-getsecs(strp, secsp)
-register const char *  strp;
-long * const           secsp;
+getsecs(const char *strp, long *secsp)
 {
        int     num;
 
@@ -1010,9 +979,7 @@ long * const               secsp;
 */
 
 static const char *
-getoffset(strp, offsetp)
-register const char *  strp;
-long * const           offsetp;
+getoffset(const char *strp, long *offsetp)
 {
        register int    neg = 0;
 
@@ -1037,9 +1004,7 @@ long * const              offsetp;
 */
 
 static const char *
-getrule(strp, rulep)
-const char *                   strp;
-register struct rule * const   rulep;
+getrule(const char *strp, struct rule *rulep)
 {
        if (*strp == 'J') {
                /*
@@ -1091,11 +1056,8 @@ register struct rule * const     rulep;
 */
 
 static time_t
-transtime(janfirst, year, rulep, offset)
-const time_t                           janfirst;
-const int                              year;
-register const struct rule * const     rulep;
-const long                             offset;
+transtime(const time_t janfirst, const int year, const struct rule *rulep,
+               long offset)
 {
        register int    leapyear;
        register time_t value;
@@ -1186,10 +1148,7 @@ const long                               offset;
 */
 
 static int
-tzparse(name, sp, lastditch)
-const char *                   name;
-register struct state * const  sp;
-const int                      lastditch;
+tzparse(const char *name, struct state *sp, const int lastditch)
 {
        const char *                    stdname;
        const char *                    dstname;
@@ -1399,8 +1358,7 @@ const int                 lastditch;
 }
 
 static void
-gmtload(sp)
-struct state * const   sp;
+gmtload(struct state *sp)
 {
        if (tzload(gmt, sp) != 0)
                (void) tzparse(gmt, sp, TRUE);
@@ -1506,7 +1464,7 @@ tzsetwall P((void))
        settzname();
 }
 
-void
+extern "C" void
 tzset P((void))
 {
        const char *    name = getenv("TZ");
@@ -1559,7 +1517,7 @@ tzset P((void))
 /*ARGSUSED*/
 static void
 localsub (const time_t * const timep,
-         const long offset __attribute__ ((unused)),
+         const long offset,
          struct tm * const tmp)
 {
        register struct state *         sp;
@@ -1602,9 +1560,8 @@ localsub (const time_t * const    timep,
 #endif /* defined TM_ZONE */
 }
 
-struct tm *
-localtime(timep)
-const time_t * const   timep;
+extern "C" struct tm *
+localtime(const time_t *timep)
 {
        tzset();
        localsub(timep, 0L, &tm);
@@ -1614,10 +1571,8 @@ const time_t * const     timep;
 /*
  * Re-entrant version of localtime
  */
-struct tm *
-localtime_r(timep, tm)
-const time_t * const   timep;
-struct tm *            tm;
+extern "C" struct tm *
+localtime_r(const time_t *timep, struct tm *tm)
 {
        localsub(timep, 0L, tm);
        return tm;
@@ -1628,10 +1583,7 @@ struct tm *              tm;
 */
 
 static void
-gmtsub(timep, offset, tmp)
-const time_t * const   timep;
-const long             offset;
-struct tm * const      tmp;
+gmtsub(const time_t *timep, const long offset, struct tm *tmp)
 {
        if (!gmt_is_set) {
                gmt_is_set = TRUE;
@@ -1663,9 +1615,8 @@ struct tm * const tmp;
 #endif /* defined TM_ZONE */
 }
 
-struct tm *
-gmtime(timep)
-const time_t * const   timep;
+extern "C" struct tm *
+gmtime(const time_t *timep)
 {
        gmtsub(timep, 0L, &tm);
        return &tm;
@@ -1674,10 +1625,8 @@ const time_t * const     timep;
 /*
  * Re-entrant version of gmtime
  */
-struct tm *
-gmtime_r(timep, tm)
-const time_t * const   timep;
-struct tm *            tm;
+extern "C" struct tm *
+gmtime_r(const time_t *timep, struct tm *tm)
 {
        gmtsub(timep, 0L, tm);
        return tm;
@@ -1685,10 +1634,8 @@ struct tm *              tm;
 
 #ifdef STD_INSPIRED
 
-struct tm *
-offtime(timep, offset)
-const time_t * const   timep;
-const long             offset;
+extern "C" struct tm *
+offtime(const time_t *timep, const long offset)
 {
        gmtsub(timep, offset, &tm);
        return &tm;
@@ -1697,11 +1644,8 @@ const long               offset;
 #endif /* defined STD_INSPIRED */
 
 static void
-timesub(timep, offset, sp, tmp)
-const time_t * const                   timep;
-const long                             offset;
-register const struct state * const    sp;
-register struct tm * const             tmp;
+timesub(const time_t *timep, const long offset, const struct state *sp,
+       struct tm *tmp)
 {
        register const struct lsinfo *  lp;
        register long                   days;
@@ -1797,9 +1741,8 @@ register struct tm * const                tmp;
 #endif /* defined TM_GMTOFF */
 }
 
-char *
-ctime(timep)
-const time_t * const   timep;
+extern "C" char *
+ctime(const time_t *timep)
 {
 /*
 ** Section 4.12.3.2 of X3.159-1989 requires that
@@ -1810,10 +1753,8 @@ const time_t * const     timep;
        return asctime(localtime(timep));
 }
 
-char *
-ctime_r(timep, buf)
-const time_t * const   timep;
-char *                 buf;
+extern "C" char *
+ctime_r(const time_t *timep, char *buf)
 {
        struct tm       tm;
 
@@ -1839,9 +1780,7 @@ char *                    buf;
 */
 
 static int
-increment_overflow(number, delta)
-int *  number;
-int    delta;
+increment_overflow(int *number, int delta)
 {
        int     number0;
 
@@ -1851,10 +1790,7 @@ int      delta;
 }
 
 static int
-normalize_overflow(tensptr, unitsptr, base)
-int * const    tensptr;
-int * const    unitsptr;
-const int      base;
+normalize_overflow(int *tensptr, int *unitsptr, const int base)
 {
        register int    tensdelta;
 
@@ -1866,9 +1802,7 @@ const int base;
 }
 
 static int
-tmcomp(atmp, btmp)
-register const struct tm * const atmp;
-register const struct tm * const btmp;
+tmcomp(register const struct tm *atmp, register const struct tm *btmp)
 {
        register int    result;
 
@@ -1882,12 +1816,8 @@ register const struct tm * const btmp;
 }
 
 static time_t
-time2sub(tmp, funcp, offset, okayp, do_norm_secs)
-struct tm * const      tmp;
-void (* const          funcp) P((const time_t*, long, struct tm*));
-const long             offset;
-int * const            okayp;
-const int              do_norm_secs;
+time2sub(struct tm *tmp, void (*funcp) P((const time_t*, long, struct tm*)),
+        const long offset, int *okayp, const int do_norm_secs)
 {
        register const struct state *   sp;
        register int                    dir;
@@ -2034,11 +1964,8 @@ label:
 }
 
 static time_t
-time2(tmp, funcp, offset, okayp)
-struct tm * const      tmp;
-void (* const          funcp) P((const time_t*, long, struct tm*));
-const long             offset;
-int * const            okayp;
+time2(struct tm *tmp, void (*funcp) P((const time_t*, long, struct tm*)),
+      const long offset, int *okayp)
 {
        time_t  t;
 
@@ -2052,10 +1979,8 @@ int * const              okayp;
 }
 
 static time_t
-time1(tmp, funcp, offset)
-struct tm * const      tmp;
-void (* const          funcp) P((const time_t *, long, struct tm *));
-const long             offset;
+time1(struct tm *tmp, void (*funcp) P((const time_t *, long, struct tm *)),
+      const long offset)
 {
        register time_t                 t;
        register const struct state *   sp;
@@ -2113,9 +2038,8 @@ const long                offset;
        return WRONG;
 }
 
-time_t
-mktime(tmp)
-struct tm * const      tmp;
+extern "C" time_t
+mktime(struct tm *tmp)
 {
        tzset();
        return time1(tmp, localsub, 0L);
@@ -2123,26 +2047,22 @@ struct tm * const       tmp;
 
 #ifdef STD_INSPIRED
 
-time_t
-timelocal(tmp)
-struct tm * const      tmp;
+extern "C" time_t
+timelocal(struct tm *tmp)
 {
        tmp->tm_isdst = -1;     /* in case it wasn't initialized */
        return mktime(tmp);
 }
 
-time_t
-timegm(tmp)
-struct tm * const      tmp;
+extern "C" time_t
+timegm(struct tm *tmp)
 {
        tmp->tm_isdst = 0;
        return time1(tmp, gmtsub, 0L);
 }
 
-time_t
-timeoff(tmp, offset)
-struct tm * const      tmp;
-const long             offset;
+extern "C" time_t
+timeoff(struct tm *tmp, const long offset)
 {
        tmp->tm_isdst = 0;
        return time1(tmp, gmtsub, offset);
@@ -2157,9 +2077,8 @@ const long                offset;
 ** previous versions of the CMUCS runtime library.
 */
 
-long
-gtime(tmp)
-struct tm * const      tmp;
+extern "C" long
+gtime(struct tm *tmp)
 {
        const time_t    t = mktime(tmp);
 
@@ -2185,8 +2104,7 @@ struct tm * const tmp;
 */
 
 static long
-leapcorr(timep)
-time_t *       timep;
+leapcorr(time_t *timep)
 {
        register struct state *         sp;
        register struct lsinfo *        lp;
@@ -2202,17 +2120,15 @@ time_t *        timep;
        return 0;
 }
 
-time_t
-time2posix(t)
-time_t t;
+extern "C" time_t
+time2posix(time_t t)
 {
        tzset();
        return t - leapcorr(&t);
 }
 
-time_t
-posix2time(t)
-time_t t;
+extern "C" time_t
+posix2time(time_t t)
 {
        time_t  x;
        time_t  y;