summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2018-12-31 23:51:15 +0000
committerJoseph Myers <joseph@codesourcery.com>2018-12-31 23:51:15 +0000
commite740e5b1f0d786bdd95898b61c4a81f8f00bb063 (patch)
tree917c7ec1de1248c93402ee773662a5ab3e6b1787
parent9b7f98b3453e7fd46c433369d3a33a5c1a02378d (diff)
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--ChangeLog5
-rw-r--r--timezone/zdump.c4
-rw-r--r--timezone/zic.c8
3 files changed, 12 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 5f29a30114..9dc753d49f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 608f288691..0fc8ced96a 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 cb1bf28bfb..2ebc66a9af 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