aboutsummaryrefslogtreecommitdiff
path: root/timezone
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 /timezone
parent9b7f98b3453e7fd46c433369d3a33a5c1a02378d (diff)
downloadglibc-e740e5b1f0d786bdd95898b61c4a81f8f00bb063.tar
glibc-e740e5b1f0d786bdd95898b61c4a81f8f00bb063.tar.gz
glibc-e740e5b1f0d786bdd95898b61c4a81f8f00bb063.tar.bz2
glibc-e740e5b1f0d786bdd95898b61c4a81f8f00bb063.zip
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.
Diffstat (limited to 'timezone')
-rw-r--r--timezone/zdump.c4
-rw-r--r--timezone/zic.c8
2 files changed, 7 insertions, 5 deletions
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