mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-07 06:43:00 +03:00
* version.h (VERSION): Bump to 2.8.
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
2008-04-10 Ulrich Drepper <drepper@redhat.com>
|
2008-04-10 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* version.h (VERSION): Bump to 2.8.
|
||||||
|
|
||||||
* timzeone/asia: Update from tzdata2008b.
|
* timzeone/asia: Update from tzdata2008b.
|
||||||
* timezone/backward: Likewise.
|
* timezone/backward: Likewise.
|
||||||
* timezone/europe: Likewise.
|
* timezone/europe: Likewise.
|
||||||
|
@@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
#ifndef lint
|
#ifndef lint
|
||||||
#ifndef NOID
|
#ifndef NOID
|
||||||
static char privatehid[] = "@(#)private.h 8.3";
|
static char privatehid[] = "@(#)private.h 8.6";
|
||||||
#endif /* !defined NOID */
|
#endif /* !defined NOID */
|
||||||
#endif /* !defined lint */
|
#endif /* !defined lint */
|
||||||
|
|
||||||
@@ -48,10 +48,6 @@ static char privatehid[] = "@(#)private.h 8.3";
|
|||||||
#define HAVE_SETTIMEOFDAY 3
|
#define HAVE_SETTIMEOFDAY 3
|
||||||
#endif /* !defined HAVE_SETTIMEOFDAY */
|
#endif /* !defined HAVE_SETTIMEOFDAY */
|
||||||
|
|
||||||
#ifndef HAVE_STRERROR
|
|
||||||
#define HAVE_STRERROR 1
|
|
||||||
#endif /* !defined HAVE_STRERROR */
|
|
||||||
|
|
||||||
#ifndef HAVE_SYMLINK
|
#ifndef HAVE_SYMLINK
|
||||||
#define HAVE_SYMLINK 1
|
#define HAVE_SYMLINK 1
|
||||||
#endif /* !defined HAVE_SYMLINK */
|
#endif /* !defined HAVE_SYMLINK */
|
||||||
@@ -109,17 +105,15 @@ static char privatehid[] = "@(#)private.h 8.3";
|
|||||||
#endif /* !defined WEXITSTATUS */
|
#endif /* !defined WEXITSTATUS */
|
||||||
|
|
||||||
#if HAVE_UNISTD_H
|
#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 */
|
#endif /* HAVE_UNISTD_H */
|
||||||
|
|
||||||
#if !HAVE_UNISTD_H
|
|
||||||
#ifndef F_OK
|
#ifndef F_OK
|
||||||
#define F_OK 0
|
#define F_OK 0
|
||||||
#endif /* !defined F_OK */
|
#endif /* !defined F_OK */
|
||||||
#ifndef R_OK
|
#ifndef R_OK
|
||||||
#define R_OK 4
|
#define R_OK 4
|
||||||
#endif /* !defined R_OK */
|
#endif /* !defined R_OK */
|
||||||
#endif /* !HAVE_UNISTD_H */
|
|
||||||
|
|
||||||
/* Unlike <ctype.h>'s isdigit, this also works if c < 0 | c > UCHAR_MAX. */
|
/* Unlike <ctype.h>'s isdigit, this also works if c < 0 | c > UCHAR_MAX. */
|
||||||
#define is_digit(c) ((unsigned)(c) - '0' <= 9)
|
#define is_digit(c) ((unsigned)(c) - '0' <= 9)
|
||||||
@@ -164,70 +158,6 @@ typedef long int_fast64_t;
|
|||||||
** Workarounds for compilers/systems.
|
** Workarounds for compilers/systems.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
|
||||||
** 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.
|
** Some time.h implementations don't declare asctime_r.
|
||||||
** Others might define it as a macro.
|
** Others might define it as a macro.
|
||||||
@@ -235,21 +165,21 @@ extern int errno;
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef asctime_r
|
#ifndef asctime_r
|
||||||
extern char * asctime_r();
|
extern char * asctime_r(struct tm const *, char *);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Private function declarations.
|
** Private function declarations.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
char * icalloc P((int nelem, int elsize));
|
char * icalloc(int nelem, int elsize);
|
||||||
char * icatalloc P((char * old, const char * new));
|
char * icatalloc(char * old, const char * new);
|
||||||
char * icpyalloc P((const char * string));
|
char * icpyalloc(const char * string);
|
||||||
char * imalloc P((int n));
|
char * imalloc(int n);
|
||||||
void * irealloc P((void * pointer, int size));
|
void * irealloc(void * pointer, int size);
|
||||||
void icfree P((char * pointer));
|
void icfree(char * pointer);
|
||||||
void ifree P((char * pointer));
|
void ifree(char * pointer);
|
||||||
const char * scheck P((const char * string, const char * format));
|
const char * scheck(const char * string, const char * format);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Finally, some convenience items.
|
** Finally, some convenience items.
|
||||||
@@ -337,8 +267,8 @@ const char * scheck P((const char * string, const char * format));
|
|||||||
#if HAVE_INCOMPATIBLE_CTIME_R
|
#if HAVE_INCOMPATIBLE_CTIME_R
|
||||||
#undef asctime_r
|
#undef asctime_r
|
||||||
#undef ctime_r
|
#undef ctime_r
|
||||||
char *asctime_r P((struct tm const *, char *));
|
char *asctime_r(struct tm const *, char *);
|
||||||
char *ctime_r P((time_t const *, char *));
|
char *ctime_r(time_t const *, char *);
|
||||||
#endif /* HAVE_INCOMPATIBLE_CTIME_R */
|
#endif /* HAVE_INCOMPATIBLE_CTIME_R */
|
||||||
|
|
||||||
#ifndef YEARSPERREPEAT
|
#ifndef YEARSPERREPEAT
|
||||||
|
@@ -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
|
** 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 SECSPERNYEAR (SECSPERDAY * DAYSPERNYEAR)
|
||||||
#define SECSPERLYEAR (SECSPERNYEAR + SECSPERDAY)
|
#define SECSPERLYEAR (SECSPERNYEAR + SECSPERDAY)
|
||||||
|
|
||||||
|
#ifndef HAVE_GETTEXT
|
||||||
|
#define HAVE_GETTEXT 0
|
||||||
|
#endif
|
||||||
#if HAVE_GETTEXT
|
#if HAVE_GETTEXT
|
||||||
#include "locale.h" /* for setlocale */
|
#include "locale.h" /* for setlocale */
|
||||||
#include "libintl.h"
|
#include "libintl.h"
|
||||||
@@ -129,13 +132,9 @@ static char elsieid[] = "@(#)zdump.c 8.4";
|
|||||||
#define TZ_DOMAIN "tz"
|
#define TZ_DOMAIN "tz"
|
||||||
#endif /* !defined TZ_DOMAIN */
|
#endif /* !defined TZ_DOMAIN */
|
||||||
|
|
||||||
#ifndef P
|
|
||||||
#define P(x) x
|
|
||||||
#endif /* !defined P */
|
|
||||||
|
|
||||||
extern char ** environ;
|
extern char ** environ;
|
||||||
extern int getopt P((int argc, char * const argv[],
|
extern int getopt(int argc, char * const argv[],
|
||||||
const char * options));
|
const char * options);
|
||||||
extern char * optarg;
|
extern char * optarg;
|
||||||
extern int optind;
|
extern int optind;
|
||||||
extern char * tzname[2];
|
extern char * tzname[2];
|
||||||
@@ -146,15 +145,15 @@ static size_t longest;
|
|||||||
static char * progname;
|
static char * progname;
|
||||||
static int warned;
|
static int warned;
|
||||||
|
|
||||||
static char * abbr P((struct tm * tmp));
|
static char * abbr(struct tm * tmp);
|
||||||
static void abbrok P((const char * abbrp, const char * zone));
|
static void abbrok(const char * abbrp, const char * zone);
|
||||||
static long delta P((struct tm * newp, struct tm * oldp));
|
static long delta(struct tm * newp, struct tm * oldp);
|
||||||
static void dumptime P((const struct tm * tmp));
|
static void dumptime(const struct tm * tmp);
|
||||||
static time_t hunt P((char * name, time_t lot, time_t hit));
|
static time_t hunt(char * name, time_t lot, time_t hit);
|
||||||
static void setabsolutes P((void));
|
static void setabsolutes(void);
|
||||||
static void show P((char * zone, time_t t, int v));
|
static void show(char * zone, time_t t, int v);
|
||||||
static const char * tformat P((void));
|
static const char * tformat(void);
|
||||||
static time_t yeartot P((long y));
|
static time_t yeartot(long y);
|
||||||
|
|
||||||
#ifndef TYPECHECK
|
#ifndef TYPECHECK
|
||||||
#define my_localtime localtime
|
#define my_localtime localtime
|
||||||
@@ -394,7 +393,7 @@ _("%s: usage is %s [ --version ] [ -v ] [ -c [loyear,]hiyear ] zonename ...\n"),
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
setabsolutes()
|
setabsolutes(void)
|
||||||
{
|
{
|
||||||
if (0.5 == (time_t) 0.5) {
|
if (0.5 == (time_t) 0.5) {
|
||||||
/*
|
/*
|
||||||
@@ -592,7 +591,7 @@ struct tm * tmp;
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
static const char *
|
static const char *
|
||||||
tformat()
|
tformat(void)
|
||||||
{
|
{
|
||||||
if (0.5 == (time_t) 0.5) { /* floating */
|
if (0.5 == (time_t) 0.5) { /* floating */
|
||||||
if (sizeof (time_t) > sizeof (double))
|
if (sizeof (time_t) > sizeof (double))
|
||||||
|
149
timezone/zic.c
149
timezone/zic.c
@@ -3,7 +3,7 @@
|
|||||||
** 2006-07-17 by Arthur David Olson.
|
** 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 "private.h"
|
||||||
#include "locale.h"
|
#include "locale.h"
|
||||||
@@ -99,70 +99,66 @@ struct zone {
|
|||||||
zic_t z_untiltime;
|
zic_t z_untiltime;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern int getopt P((int argc, char * const argv[],
|
extern int getopt(int argc, char * const argv[],
|
||||||
const char * options));
|
const char * options);
|
||||||
extern int link P((const char * fromname, const char * toname));
|
extern int link(const char * fromname, const char * toname);
|
||||||
extern char * optarg;
|
extern char * optarg;
|
||||||
extern int optind;
|
extern int optind;
|
||||||
|
|
||||||
static void addtt P((zic_t starttime, int type));
|
static void addtt(zic_t starttime, int type);
|
||||||
static int addtype P((long gmtoff, const char * abbr, int isdst,
|
static int addtype(long gmtoff, const char * abbr, int isdst,
|
||||||
int ttisstd, int ttisgmt));
|
int ttisstd, int ttisgmt);
|
||||||
static void leapadd P((zic_t t, int positive, int rolling, int count));
|
static void leapadd(zic_t t, int positive, int rolling, int count);
|
||||||
static void adjleap P((void));
|
static void adjleap(void);
|
||||||
static void associate P((void));
|
static void associate(void);
|
||||||
static int ciequal P((const char * ap, const char * bp));
|
static int ciequal(const char * ap, const char * bp);
|
||||||
static void convert P((long val, char * buf));
|
static void convert(long val, char * buf);
|
||||||
static void convert64 P((zic_t val, char * buf));
|
static void convert64(zic_t val, char * buf);
|
||||||
static void dolink P((const char * fromfield, const char * tofield));
|
static void dolink(const char * fromfield, const char * tofield);
|
||||||
static void doabbr P((char * abbr, const char * format,
|
static void doabbr(char * abbr, const char * format,
|
||||||
const char * letters, int isdst, int doquotes));
|
const char * letters, int isdst, int doquotes);
|
||||||
static void eat P((const char * name, int num));
|
static void eat(const char * name, int num);
|
||||||
static void eats P((const char * name, int num,
|
static void eats(const char * name, int num,
|
||||||
const char * rname, int rnum));
|
const char * rname, int rnum);
|
||||||
static long eitol P((int i));
|
static long eitol(int i);
|
||||||
static void error P((const char * message));
|
static void error(const char * message);
|
||||||
static char ** getfields P((char * buf));
|
static char ** getfields(char * buf);
|
||||||
static long gethms P((const char * string, const char * errstrng,
|
static long gethms(const char * string, const char * errstrng,
|
||||||
int signable));
|
int signable);
|
||||||
static void infile P((const char * filename));
|
static void infile(const char * filename);
|
||||||
static void inleap P((char ** fields, int nfields));
|
static void inleap(char ** fields, int nfields);
|
||||||
static void inlink P((char ** fields, int nfields));
|
static void inlink(char ** fields, int nfields);
|
||||||
static void inrule P((char ** fields, int nfields));
|
static void inrule(char ** fields, int nfields);
|
||||||
static int inzcont P((char ** fields, int nfields));
|
static int inzcont(char ** fields, int nfields);
|
||||||
static int inzone P((char ** fields, int nfields));
|
static int inzone(char ** fields, int nfields);
|
||||||
static int inzsub P((char ** fields, int nfields, int iscont));
|
static int inzsub(char ** fields, int nfields, int iscont);
|
||||||
static int is32 P((zic_t x));
|
static int is32(zic_t x);
|
||||||
static int itsabbr P((const char * abbr, const char * word));
|
static int itsabbr(const char * abbr, const char * word);
|
||||||
static int itsdir P((const char * name));
|
static int itsdir(const char * name);
|
||||||
static int lowerit P((int c));
|
static int lowerit(int c);
|
||||||
static char * memcheck P((char * tocheck));
|
static char * memcheck(char * tocheck);
|
||||||
static int mkdirs P((char * filename));
|
static int mkdirs(char * filename);
|
||||||
static void newabbr P((const char * abbr));
|
static void newabbr(const char * abbr);
|
||||||
static long oadd P((long t1, long t2));
|
static long oadd(long t1, long t2);
|
||||||
static void outzone P((const struct zone * zp, int ntzones));
|
static void outzone(const struct zone * zp, int ntzones);
|
||||||
static void puttzcode P((long code, FILE * fp));
|
static void puttzcode(long code, FILE * fp);
|
||||||
static void puttzcode64 P((zic_t code, FILE * fp));
|
static void puttzcode64(zic_t code, FILE * fp);
|
||||||
static int rcomp P((const void * leftp, const void * rightp));
|
static int rcomp(const void * leftp, const void * rightp);
|
||||||
static zic_t rpytime P((const struct rule * rp, int wantedy));
|
static zic_t rpytime(const struct rule * rp, int wantedy);
|
||||||
static void rulesub P((struct rule * rp,
|
static void rulesub(struct rule * rp,
|
||||||
const char * loyearp, const char * hiyearp,
|
const char * loyearp, const char * hiyearp,
|
||||||
const char * typep, const char * monthp,
|
const char * typep, const char * monthp,
|
||||||
const char * dayp, const char * timep));
|
const char * dayp, const char * timep);
|
||||||
static int stringoffset P((char * result, long offset));
|
static int stringoffset(char * result, long offset);
|
||||||
static int stringrule P((char * result, const struct rule * rp,
|
static int stringrule(char * result, const struct rule * rp,
|
||||||
long dstoff, long gmtoff));
|
long dstoff, long gmtoff);
|
||||||
static void stringzone P((char * result,
|
static void stringzone(char * result,
|
||||||
const struct zone * zp, int ntzones));
|
const struct zone * zp, int ntzones);
|
||||||
static void setboundaries P((void));
|
static void setboundaries(void);
|
||||||
static zic_t tadd P((zic_t t1, long t2));
|
static zic_t tadd(zic_t t1, long t2);
|
||||||
static void usage P((void));
|
static void usage(void);
|
||||||
static void writezone P((const char * name, const char * string));
|
static void writezone(const char * name, const char * string);
|
||||||
static int yearistype P((int year, const char * type));
|
static int yearistype(int year, const char * type);
|
||||||
|
|
||||||
#if !HAVE_STRERROR
|
|
||||||
static char * strerror P((int));
|
|
||||||
#endif /* !HAVE_STRERROR */
|
|
||||||
|
|
||||||
static int charcnt;
|
static int charcnt;
|
||||||
static int errors;
|
static int errors;
|
||||||
@@ -287,8 +283,8 @@ struct lookup {
|
|||||||
const int l_value;
|
const int l_value;
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct lookup const * byword P((const char * string,
|
static struct lookup const * byword(const char * string,
|
||||||
const struct lookup * lp));
|
const struct lookup * lp);
|
||||||
|
|
||||||
static struct lookup const line_codes[] = {
|
static struct lookup const line_codes[] = {
|
||||||
{ "Rule", LC_RULE },
|
{ "Rule", LC_RULE },
|
||||||
@@ -405,19 +401,6 @@ char * const ptr;
|
|||||||
** Error handling.
|
** 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
|
static void
|
||||||
eats(name, num, rname, rnum)
|
eats(name, num, rname, rnum)
|
||||||
const char * const name;
|
const char * const name;
|
||||||
@@ -471,7 +454,7 @@ const char * const string;
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
usage P((void))
|
usage(void)
|
||||||
{
|
{
|
||||||
(void) fprintf(stderr, _("%s: usage is %s \
|
(void) fprintf(stderr, _("%s: usage is %s \
|
||||||
[ --version ] [ -v ] [ -l localtime ] [ -p posixrules ] \\\n\
|
[ --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
|
#define TIME_T_BITS_IN_FILE 64
|
||||||
|
|
||||||
static void
|
static void
|
||||||
setboundaries P((void))
|
setboundaries(void)
|
||||||
{
|
{
|
||||||
register int i;
|
register int i;
|
||||||
|
|
||||||
@@ -741,7 +724,7 @@ const void * cp2;
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
associate P((void))
|
associate(void)
|
||||||
{
|
{
|
||||||
register struct zone * zp;
|
register struct zone * zp;
|
||||||
register struct rule * rp;
|
register struct rule * rp;
|
||||||
@@ -2012,7 +1995,8 @@ const int zonecount;
|
|||||||
}
|
}
|
||||||
for (i = 0; i < zonecount; ++i) {
|
for (i = 0; i < zonecount; ++i) {
|
||||||
zp = &zpfirst[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) {
|
for (j = 0; j < zp->z_nrules; ++j) {
|
||||||
rp = &zp->z_rules[j];
|
rp = &zp->z_rules[j];
|
||||||
if (rp->r_lowasnum)
|
if (rp->r_lowasnum)
|
||||||
@@ -2043,8 +2027,11 @@ wp = ecpyalloc(_("no POSIX environment variable for zone"));
|
|||||||
else max_year = INT_MAX;
|
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)
|
if (max_year < 2037)
|
||||||
max_year = 2037;
|
max_year = 2037;
|
||||||
for (i = 0; i < zonecount; ++i) {
|
for (i = 0; i < zonecount; ++i) {
|
||||||
@@ -2331,7 +2318,7 @@ int count;
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
adjleap P((void))
|
adjleap(void)
|
||||||
{
|
{
|
||||||
register int i;
|
register int i;
|
||||||
register long last = 0;
|
register long last = 0;
|
||||||
|
Reference in New Issue
Block a user