diff options
author | Joseph Myers <joseph@codesourcery.com> | 2018-12-31 23:51:15 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2018-12-31 23:51:15 +0000 |
commit | e740e5b1f0d786bdd95898b61c4a81f8f00bb063 (patch) | |
tree | 917c7ec1de1248c93402ee773662a5ab3e6b1787 | |
parent | 9b7f98b3453e7fd46c433369d3a33a5c1a02378d (diff) | |
download | glibc-e740e5b1f0d786bdd95898b61c4a81f8f00bb063.zip glibc-e740e5b1f0d786bdd95898b61c4a81f8f00bb063.tar.gz glibc-e740e5b1f0d786bdd95898b61c4a81f8f00bb063.tar.bz2 |
Update timezone code from tzcode 2018i.
This patch updates files coming from tzcode to the versions in tzcode
2018i. No changes elsewhere in glibc were needed.
Tested for x86_64.
* timezone/zdump.c: Update from tzcode 2018i.
* timezone/zic.c: Likewise.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | timezone/zdump.c | 4 | ||||
-rw-r--r-- | timezone/zic.c | 8 |
3 files changed, 12 insertions, 5 deletions
@@ -1,3 +1,8 @@ +2018-12-31 Joseph Myers <joseph@codesourcery.com> + + * timezone/zdump.c: Update from tzcode 2018i. + * timezone/zic.c: Likewise. + 2018-12-31 Paul Eggert <eggert@cs.ucla.edu> regex: improve Gnulib port to AIX diff --git a/timezone/zdump.c b/timezone/zdump.c index 608f288..0fc8ced 100644 --- a/timezone/zdump.c +++ b/timezone/zdump.c @@ -807,8 +807,10 @@ my_snprintf(char *s, size_t size, char const *format, ...) arglen = strlen(arg); } else { n = vsprintf(buf, format, args); - if (n < 0) + if (n < 0) { + va_end(args); return n; + } arg = buf; arglen = n; } diff --git a/timezone/zic.c b/timezone/zic.c index cb1bf28..2ebc66a 100644 --- a/timezone/zic.c +++ b/timezone/zic.c @@ -2741,7 +2741,7 @@ error(_("can't determine time zone abbreviation to use just after until time")); if (attypes[i].at > lastat->at) lastat = &attypes[i]; if (lastat->at < rpytime(&xr, max_year - 1)) { - addtt(rpytime(&xr, max_year + 1), typecnt-1); + addtt(rpytime(&xr, max_year + 1), lastat->type); attypes[timecnt - 1].dontmerge = true; } } @@ -2945,7 +2945,7 @@ lowerit(char a) } /* case-insensitive equality */ -static bool +static ATTRIBUTE_PURE bool ciequal(register const char *ap, register const char *bp) { while (lowerit(*ap) == lowerit(*bp++)) @@ -2954,7 +2954,7 @@ ciequal(register const char *ap, register const char *bp) return false; } -static bool +static ATTRIBUTE_PURE bool itsabbr(register const char *abbr, register const char *word) { if (lowerit(*abbr) != lowerit(*word)) @@ -2970,7 +2970,7 @@ itsabbr(register const char *abbr, register const char *word) /* Return true if ABBR is an initial prefix of WORD, ignoring ASCII case. */ -static bool +static ATTRIBUTE_PURE bool ciprefix(char const *abbr, char const *word) { do |