2
0
mirror of git://sourceware.org/git/glibc.git synced 2025-04-18 14:30:43 +08:00

2005-09-17 Andreas Jaeger <aj@suse.de>

* timezone/zdump.c: Include ctype.h.
2005-09-06  Ulrich Drepper  <drepper@redhat.com>

	* timezone/africa: Update from tzdata2005m.
	* timezone/asia: Likewise.
	* timezone/australasia: Likewise.
	* timezone/backward: Likewise.
	* timezone/europe: Likewise.
	* timezone/northamerica: Likewise.
	* timezone/southamerica: Likewise.
	* timezone/zone.tab: Likewise.
	* timezone/zdump.c: Update from tzcode2005m.
2005-08-05  Ulrich Drepper  <drepper@redhat.com>

	* timezone/checktab.awk: Update from tzcode2005k.
	* timezone/private.h: Likewise.
	* timezone/scheck.c: Likewise.
	* timezone/tzselect.ksh: Likewise.
	* timezone/zdump.c: Likewise.
	* timezone/zic.c: Likewise.
	* timezone/africa: Update from tzdata2005k.
	* timezone/antarctica: Likewise.
	* timezone/asia: Likewise.
	* timezone/australasia: Likewise.
	* timezone/europe: Likewise.
	* timezone/iso3166.tab: Likewise.
	* timezone/leapseconds: Likewise.
	* timezone/northamerica: Likewise.
	* timezone/solar87: Likewise.
	* timezone/solar88: Likewise.
	* timezone/solar89: Likewise.
	* timezone/southamerica: Likewise.
	* timezone/zone.tab: Likewise.
This commit is contained in:
Roland McGrath 2005-10-17 05:14:28 +00:00
parent 23592423fb
commit 8185122e2e

@ -1,4 +1,4 @@
static char elsieid[] = "@(#)zdump.c 7.64";
static char elsieid[] = "@(#)zdump.c 7.66";
/*
** This code has been made independent of the rest of the time
@ -12,6 +12,7 @@ static char elsieid[] = "@(#)zdump.c 7.64";
#include "time.h" /* for struct tm */
#include "stdlib.h" /* for exit, malloc, atoi */
#include "float.h" /* for FLT_MAX and DBL_MAX */
#include <ctype.h> /* for isascii, isalpha, isdigit */
#ifndef ZDUMP_LO_YEAR
#define ZDUMP_LO_YEAR (-500)
@ -144,8 +145,10 @@ static time_t absolute_min_time;
static time_t absolute_max_time;
static size_t longest;
static char * progname;
static int warned;
static char * abbr P((struct tm * tmp));
static void abbrok P((const char * abbr, 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));
@ -191,6 +194,43 @@ time_t * tp;
}
#endif /* !defined TYPECHECK */
static void
abbrok(abbr, zone)
const char * const abbr;
const char * const zone;
{
register const char * cp;
register char * wp;
if (warned)
return;
cp = abbr;
wp = NULL;
while (isascii(*cp) && isalpha(*cp))
++cp;
if (cp - abbr == 0)
wp = _("lacks alphabetic at start");
if (cp - abbr < 3)
wp = _("has fewer than 3 alphabetics");
if (cp - abbr > 6)
wp = _("has more than 6 alphabetics");
if (wp == NULL && (*cp == '+' || *cp == '-')) {
++cp;
if (isascii(*cp) && isdigit(*cp))
if (*cp++ == '1' && *cp >= '0' && *cp <= '4')
++cp;
}
if (*cp != '\0')
wp = _("differs from POSIX standard");
if (wp == NULL)
return;
(void) fflush(stdout);
(void) fprintf(stderr,
"%s: warning: zone \"%s\" abbreviation \"%s\" %s\n",
progname, zone, abbr, wp);
warned = TRUE;
}
int
main(argc, argv)
int argc;
@ -216,7 +256,7 @@ char * argv[];
INITIALIZE(cutlotime);
INITIALIZE(cuthitime);
#if HAVE_GETTEXT
(void) setlocale(LC_MESSAGES, "");
(void) setlocale(LC_ALL, "");
#ifdef TZ_DOMAINDIR
(void) bindtextdomain(TZ_DOMAIN, TZ_DOMAINDIR);
#endif /* defined TEXTDOMAINDIR */
@ -297,6 +337,7 @@ _("%s: usage is %s [ --version ] [ -v ] [ -c [loyear,]hiyear ] zonename ...\n"),
show(argv[i], now, FALSE);
continue;
}
warned = FALSE;
t = absolute_min_time;
show(argv[i], t, TRUE);
t += SECSPERHOUR * HOURSPERDAY;
@ -527,6 +568,8 @@ int v;
}
}
(void) printf("\n");
if (tmp != NULL && *abbr(tmp) != '\0')
abbrok(abbr(tmp), zone);
}
static char *