* version.h (VERSION): Bump to 2.8.
authorUlrich Drepper <drepper@redhat.com>
Fri, 11 Apr 2008 07:01:57 +0000 (07:01 +0000)
committerUlrich Drepper <drepper@redhat.com>
Fri, 11 Apr 2008 07:01:57 +0000 (07:01 +0000)
ChangeLog
timezone/private.h
timezone/zdump.c
timezone/zic.c
version.h

index 78b5bb0..8c755c5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2008-04-10  Ulrich Drepper  <drepper@redhat.com>
 
+       * version.h (VERSION): Bump to 2.8.
+
        * timzeone/asia: Update from tzdata2008b.
        * timezone/backward: Likewise.
        * timezone/europe: Likewise.
index d64c724..008d468 100644 (file)
@@ -21,7 +21,7 @@
 
 #ifndef lint
 #ifndef NOID
-static char    privatehid[] = "@(#)private.h   8.3";
+static char    privatehid[] = "@(#)private.h   8.6";
 #endif /* !defined NOID */
 #endif /* !defined lint */
 
@@ -48,10 +48,6 @@ static char  privatehid[] = "@(#)private.h   8.3";
 #define HAVE_SETTIMEOFDAY      3
 #endif /* !defined HAVE_SETTIMEOFDAY */
 
-#ifndef HAVE_STRERROR
-#define HAVE_STRERROR          1
-#endif /* !defined HAVE_STRERROR */
-
 #ifndef HAVE_SYMLINK
 #define HAVE_SYMLINK           1
 #endif /* !defined HAVE_SYMLINK */
@@ -109,17 +105,15 @@ static char       privatehid[] = "@(#)private.h   8.3";
 #endif /* !defined WEXITSTATUS */
 
 #if HAVE_UNISTD_H
-#include "unistd.h"    /* for F_OK and R_OK */
+#include "unistd.h"    /* for F_OK, R_OK, and other POSIX goodness */
 #endif /* HAVE_UNISTD_H */
 
-#if !HAVE_UNISTD_H
 #ifndef F_OK
 #define F_OK   0
 #endif /* !defined F_OK */
 #ifndef R_OK
 #define R_OK   4
 #endif /* !defined R_OK */
-#endif /* !HAVE_UNISTD_H */
 
 /* Unlike <ctype.h>'s isdigit, this also works if c < 0 | c > UCHAR_MAX. */
 #define is_digit(c) ((unsigned)(c) - '0' <= 9)
@@ -165,91 +159,27 @@ typedef long              int_fast64_t;
 */
 
 /*
-** If your compiler lacks prototypes, "#define P(x) ()".
-*/
-
-#ifndef P
-#define P(x)   x
-#endif /* !defined P */
-
-/*
-** SunOS 4.1.1 headers lack EXIT_SUCCESS.
-*/
-
-#ifndef EXIT_SUCCESS
-#define EXIT_SUCCESS   0
-#endif /* !defined EXIT_SUCCESS */
-
-/*
-** SunOS 4.1.1 headers lack EXIT_FAILURE.
-*/
-
-#ifndef EXIT_FAILURE
-#define EXIT_FAILURE   1
-#endif /* !defined EXIT_FAILURE */
-
-/*
-** SunOS 4.1.1 headers lack FILENAME_MAX.
-*/
-
-#ifndef FILENAME_MAX
-
-#ifndef MAXPATHLEN
-#ifdef unix
-#include "sys/param.h"
-#endif /* defined unix */
-#endif /* !defined MAXPATHLEN */
-
-#ifdef MAXPATHLEN
-#define FILENAME_MAX   MAXPATHLEN
-#endif /* defined MAXPATHLEN */
-#ifndef MAXPATHLEN
-#define FILENAME_MAX   1024            /* Pure guesswork */
-#endif /* !defined MAXPATHLEN */
-
-#endif /* !defined FILENAME_MAX */
-
-/*
-** SunOS 4.1.1 libraries lack remove.
-*/
-
-#ifndef remove
-extern int     unlink P((const char * filename));
-#define remove unlink
-#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 */
-
-/*
 ** Some time.h implementations don't declare asctime_r.
 ** Others might define it as a macro.
 ** Fix the former without affecting the latter.
 */
 
 #ifndef asctime_r
-extern char *  asctime_r();
+extern char *  asctime_r(struct tm const *, char *);
 #endif
 
 /*
 ** 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));
-const char *   scheck P((const char * string, const char * format));
+char *         icalloc(int nelem, int elsize);
+char *         icatalloc(char * old, const char * new);
+char *         icpyalloc(const char * string);
+char *         imalloc(int n);
+void *         irealloc(void * pointer, int size);
+void           icfree(char * pointer);
+void           ifree(char * pointer);
+const char *   scheck(const char * string, const char * format);
 
 /*
 ** Finally, some convenience items.
@@ -337,8 +267,8 @@ const char *        scheck P((const char * string, const char * format));
 #if HAVE_INCOMPATIBLE_CTIME_R
 #undef asctime_r
 #undef ctime_r
-char *asctime_r P((struct tm const *, char *));
-char *ctime_r P((time_t const *, char *));
+char *asctime_r(struct tm const *, char *);
+char *ctime_r(time_t const *, char *);
 #endif /* HAVE_INCOMPATIBLE_CTIME_R */
 
 #ifndef YEARSPERREPEAT
index 6bf540a..82c91e4 100644 (file)
@@ -1,4 +1,4 @@
-static char    elsieid[] = "@(#)zdump.c        8.4";
+static char    elsieid[] = "@(#)zdump.c        8.6";
 
 /*
 ** This code has been made independent of the rest of the time
@@ -88,6 +88,9 @@ static char   elsieid[] = "@(#)zdump.c        8.4";
 #define SECSPERNYEAR   (SECSPERDAY * DAYSPERNYEAR)
 #define SECSPERLYEAR   (SECSPERNYEAR + SECSPERDAY)
 
+#ifndef HAVE_GETTEXT
+#define HAVE_GETTEXT 0
+#endif
 #if HAVE_GETTEXT
 #include "locale.h"    /* for setlocale */
 #include "libintl.h"
@@ -129,13 +132,9 @@ static char        elsieid[] = "@(#)zdump.c        8.4";
 #define TZ_DOMAIN "tz"
 #endif /* !defined TZ_DOMAIN */
 
-#ifndef P
-#define P(x)   x
-#endif /* !defined P */
-
 extern char ** environ;
-extern int     getopt P((int argc, char * const argv[],
-                       const char * options));
+extern int     getopt(int argc, char * const argv[],
+                       const char * options);
 extern char *  optarg;
 extern int     optind;
 extern char *  tzname[2];
@@ -146,15 +145,15 @@ static size_t     longest;
 static char *  progname;
 static int     warned;
 
-static char *  abbr P((struct tm * tmp));
-static void    abbrok P((const char * abbrp, const char * zone));
-static long    delta P((struct tm * newp, struct tm * oldp));
-static void    dumptime P((const struct tm * tmp));
-static time_t  hunt P((char * name, time_t lot, time_t hit));
-static void    setabsolutes P((void));
-static void    show P((char * zone, time_t t, int v));
-static const char *    tformat P((void));
-static time_t  yeartot P((long y));
+static char *  abbr(struct tm * tmp);
+static void    abbrok(const char * abbrp, const char * zone);
+static long    delta(struct tm * newp, struct tm * oldp);
+static void    dumptime(const struct tm * tmp);
+static time_t  hunt(char * name, time_t lot, time_t    hit);
+static void    setabsolutes(void);
+static void    show(char * zone, time_t t, int v);
+static const char *    tformat(void);
+static time_t  yeartot(long y);
 
 #ifndef TYPECHECK
 #define my_localtime   localtime
@@ -394,7 +393,7 @@ _("%s: usage is %s [ --version ] [ -v ] [ -c [loyear,]hiyear ] zonename ...\n"),
 }
 
 static void
-setabsolutes()
+setabsolutes(void)
 {
        if (0.5 == (time_t) 0.5) {
                /*
@@ -592,7 +591,7 @@ struct tm * tmp;
 */
 
 static const char *
-tformat()
+tformat(void)
 {
        if (0.5 == (time_t) 0.5) {      /* floating */
                if (sizeof (time_t) > sizeof (double))
index 3cb0b17..5f8028e 100644 (file)
@@ -3,7 +3,7 @@
 ** 2006-07-17 by Arthur David Olson.
 */
 
-static char    elsieid[] = "@(#)zic.c  8.14";
+static char    elsieid[] = "@(#)zic.c  8.17";
 
 #include "private.h"
 #include "locale.h"
@@ -99,70 +99,66 @@ struct zone {
        zic_t           z_untiltime;
 };
 
-extern int     getopt P((int argc, char * const argv[],
-                       const char * options));
-extern int     link P((const char * fromname, const char * toname));
+extern int     getopt(int argc, char * const argv[],
+                       const char * options);
+extern int     link(const char * fromname, const char * toname);
 extern char *  optarg;
 extern int     optind;
 
-static void    addtt P((zic_t starttime, int type));
-static int     addtype P((long gmtoff, const char * abbr, int isdst,
-                               int ttisstd, int ttisgmt));
-static void    leapadd P((zic_t t, int positive, int rolling, int count));
-static void    adjleap P((void));
-static void    associate P((void));
-static int     ciequal P((const char * ap, const char * bp));
-static void    convert P((long val, char * buf));
-static void    convert64 P((zic_t val, char * buf));
-static void    dolink P((const char * fromfield, const char * tofield));
-static void    doabbr P((char * abbr, const char * format,
-                       const char * letters, int isdst, int doquotes));
-static void    eat P((const char * name, int num));
-static void    eats P((const char * name, int num,
-                       const char * rname, int rnum));
-static long    eitol P((int i));
-static void    error P((const char * message));
-static char ** getfields P((char * buf));
-static long    gethms P((const char * string, const char * errstrng,
-                       int signable));
-static void    infile P((const char * filename));
-static void    inleap P((char ** fields, int nfields));
-static void    inlink P((char ** fields, int nfields));
-static void    inrule P((char ** fields, int nfields));
-static int     inzcont P((char ** fields, int nfields));
-static int     inzone P((char ** fields, int nfields));
-static int     inzsub P((char ** fields, int nfields, int iscont));
-static int     is32 P((zic_t x));
-static int     itsabbr P((const char * abbr, const char * word));
-static int     itsdir P((const char * name));
-static int     lowerit P((int c));
-static char *  memcheck P((char * tocheck));
-static int     mkdirs P((char * filename));
-static void    newabbr P((const char * abbr));
-static long    oadd P((long t1, long t2));
-static void    outzone P((const struct zone * zp, int ntzones));
-static void    puttzcode P((long code, FILE * fp));
-static void    puttzcode64 P((zic_t code, FILE * fp));
-static int     rcomp P((const void * leftp, const void * rightp));
-static zic_t   rpytime P((const struct rule * rp, int wantedy));
-static void    rulesub P((struct rule * rp,
+static void    addtt(zic_t starttime, int type);
+static int     addtype(long gmtoff, const char * abbr, int isdst,
+                               int ttisstd, int ttisgmt);
+static void    leapadd(zic_t t, int positive, int rolling, int count);
+static void    adjleap(void);
+static void    associate(void);
+static int     ciequal(const char * ap, const char * bp);
+static void    convert(long val, char * buf);
+static void    convert64(zic_t val, char * buf);
+static void    dolink(const char * fromfield, const char * tofield);
+static void    doabbr(char * abbr, const char * format,
+                       const char * letters, int isdst, int doquotes);
+static void    eat(const char * name, int num);
+static void    eats(const char * name, int num,
+                       const char * rname, int rnum);
+static long    eitol(int i);
+static void    error(const char * message);
+static char ** getfields(char * buf);
+static long    gethms(const char * string, const char * errstrng,
+                       int signable);
+static void    infile(const char * filename);
+static void    inleap(char ** fields, int nfields);
+static void    inlink(char ** fields, int nfields);
+static void    inrule(char ** fields, int nfields);
+static int     inzcont(char ** fields, int nfields);
+static int     inzone(char ** fields, int nfields);
+static int     inzsub(char ** fields, int nfields, int iscont);
+static int     is32(zic_t x);
+static int     itsabbr(const char * abbr, const char * word);
+static int     itsdir(const char * name);
+static int     lowerit(int c);
+static char *  memcheck(char * tocheck);
+static int     mkdirs(char * filename);
+static void    newabbr(const char * abbr);
+static long    oadd(long t1, long t2);
+static void    outzone(const struct zone * zp, int ntzones);
+static void    puttzcode(long code, FILE * fp);
+static void    puttzcode64(zic_t code, FILE * fp);
+static int     rcomp(const void * leftp, const void * rightp);
+static zic_t   rpytime(const struct rule * rp, int wantedy);
+static void    rulesub(struct rule * rp,
                        const char * loyearp, const char * hiyearp,
                        const char * typep, const char * monthp,
-                       const char * dayp, const char * timep));
-static int     stringoffset P((char * result, long offset));
-static int     stringrule P((char * result, const struct rule * rp,
-                       long dstoff, long gmtoff));
-static void    stringzone P((char * result,
-                       const struct zone * zp, int ntzones));
-static void    setboundaries P((void));
-static zic_t   tadd P((zic_t t1, long t2));
-static void    usage P((void));
-static void    writezone P((const char * name, const char * string));
-static int     yearistype P((int year, const char * type));
-
-#if !HAVE_STRERROR
-static char *  strerror P((int));
-#endif /* !HAVE_STRERROR */
+                       const char * dayp, const char * timep);
+static int     stringoffset(char * result, long offset);
+static int     stringrule(char * result, const struct rule * rp,
+                       long dstoff, long gmtoff);
+static void    stringzone(char * result,
+                       const struct zone * zp, int ntzones);
+static void    setboundaries(void);
+static zic_t   tadd(zic_t t1, long t2);
+static void    usage(void);
+static void    writezone(const char * name, const char * string);
+static int     yearistype(int year, const char * type);
 
 static int             charcnt;
 static int             errors;
@@ -287,8 +283,8 @@ struct lookup {
        const int       l_value;
 };
 
-static struct lookup const *   byword P((const char * string,
-                                       const struct lookup * lp));
+static struct lookup const *   byword(const char * string,
+                                       const struct lookup * lp);
 
 static struct lookup const     line_codes[] = {
        { "Rule",       LC_RULE },
@@ -405,19 +401,6 @@ char * const       ptr;
 ** Error handling.
 */
 
-#if !HAVE_STRERROR
-static char *
-strerror(errnum)
-int    errnum;
-{
-       extern char *   sys_errlist[];
-       extern int      sys_nerr;
-
-       return (errnum > 0 && errnum <= sys_nerr) ?
-               sys_errlist[errnum] : _("Unknown system error");
-}
-#endif /* !HAVE_STRERROR */
-
 static void
 eats(name, num, rname, rnum)
 const char * const     name;
@@ -471,7 +454,7 @@ const char * const  string;
 }
 
 static void
-usage P((void))
+usage(void)
 {
        (void) fprintf(stderr, _("%s: usage is %s \
 [ --version ] [ -v ] [ -l localtime ] [ -p posixrules ] \\\n\
@@ -699,7 +682,7 @@ warning(_("hard link failed, symbolic link used"));
 #define TIME_T_BITS_IN_FILE    64
 
 static void
-setboundaries P((void))
+setboundaries(void)
 {
        register int    i;
 
@@ -741,7 +724,7 @@ const void *        cp2;
 }
 
 static void
-associate P((void))
+associate(void)
 {
        register struct zone *  zp;
        register struct rule *  rp;
@@ -2012,7 +1995,8 @@ const int                 zonecount;
        }
        for (i = 0; i < zonecount; ++i) {
                zp = &zpfirst[i];
-               updateminmax(zp->z_untilrule.r_loyear);
+               if (i < zonecount - 1)
+                       updateminmax(zp->z_untilrule.r_loyear);
                for (j = 0; j < zp->z_nrules; ++j) {
                        rp = &zp->z_rules[j];
                        if (rp->r_lowasnum)
@@ -2043,8 +2027,11 @@ wp = ecpyalloc(_("no POSIX environment variable for zone"));
                else    max_year = INT_MAX;
        }
        /*
-       ** For the benefit of older systems, generate data through 2037.
+       ** For the benefit of older systems,
+       ** generate data from 1900 through 2037.
        */
+       if (min_year > 1900)
+               min_year = 1900;
        if (max_year < 2037)
                max_year = 2037;
        for (i = 0; i < zonecount; ++i) {
@@ -2331,7 +2318,7 @@ int               count;
 }
 
 static void
-adjleap P((void))
+adjleap(void)
 {
        register int    i;
        register long   last = 0;
index 9ac2ee7..97aa661 100644 (file)
--- a/version.h
+++ b/version.h
@@ -1,4 +1,4 @@
 /* This file just defines the current version number of libc.  */
 
-#define RELEASE "development"
-#define VERSION "2.7.90"
+#define RELEASE "stable"
+#define VERSION "2.8"