mirror of
https://github.com/postgres/postgres.git
synced 2025-08-18 12:22:09 +03:00
Sync our copy of the timezone library with IANA release tzcode2020c.
This changes zic's default output format from "-b fat" to "-b slim".
We were already using "slim" in v13/HEAD, so those branches drop
the explicit -b switch in the Makefiles. Instead, add an explicit
"-b fat" in v12 and before, so that we don't change the output file
format in those branches. (This is perhaps excessively conservative,
but we decided not to do so in a12079109
, and I'll stick with that.)
Other non-cosmetic changes are to drop support for zic's long-obsolete
"-y" switch, and to ensure that strftime() does not change errno
unless it fails.
As usual with tzcode changes, back-patch to all supported branches.
This commit is contained in:
@@ -128,12 +128,22 @@ size_t
|
||||
pg_strftime(char *s, size_t maxsize, const char *format, const struct pg_tm *t)
|
||||
{
|
||||
char *p;
|
||||
int saved_errno = errno;
|
||||
enum warn warn = IN_NONE;
|
||||
|
||||
p = _fmt(format, t, s, s + maxsize, &warn);
|
||||
if (p == s + maxsize)
|
||||
if (!p)
|
||||
{
|
||||
errno = EOVERFLOW;
|
||||
return 0;
|
||||
}
|
||||
if (p == s + maxsize)
|
||||
{
|
||||
errno = ERANGE;
|
||||
return 0;
|
||||
}
|
||||
*p = '\0';
|
||||
errno = saved_errno;
|
||||
return p - s;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user