From 3465c0ce37f534b4b1b9fa6cfd07fb3e88e2dcc0 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 24 Sep 1998 15:02:06 +0000 Subject: [PATCH] Update. 1998-09-24 Paul Eggert * strftime.c (underlying_strftime): Set the buffer to a nonzero value before calling strftime, and check to see whether strftime has set the buffer to zero. This lets us distinguish between an empty buffer and an error. 1998-09-24 Paul Eggert * strftime.c (INT_STRLEN_BOUND): Fix typo by changing 100 to 1000. This fix is propagated from tzcode1998g.tar.gz. --- ChangeLog | 12 ++++++++++++ time/strftime.c | 4 ++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7e6e390063..fb356736bd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +1998-09-24 Paul Eggert + + * strftime.c (underlying_strftime): + Set the buffer to a nonzero value before calling + strftime, and check to see whether strftime has set the buffer to zero. + This lets us distinguish between an empty buffer and an error. + +1998-09-24 Paul Eggert + + * strftime.c (INT_STRLEN_BOUND): Fix typo by changing 100 to 1000. + This fix is propagated from tzcode1998g.tar.gz. + 1998-09-24 Mark Kettenis * sysdeps/unix/siglist.c: Make sys_siglist a weak alias for diff --git a/time/strftime.c b/time/strftime.c index 0a830b0588..61f688e1b2 100644 --- a/time/strftime.c +++ b/time/strftime.c @@ -134,7 +134,7 @@ extern char *tzname[]; add one for integer division truncation; add one more for a minus sign if t is signed. */ #define INT_STRLEN_BOUND(t) \ - ((sizeof (t) * CHAR_BIT - TYPE_SIGNED (t)) * 302 / 100 + 1 + TYPE_SIGNED (t)) + ((sizeof (t) * CHAR_BIT - TYPE_SIGNED (t)) * 302 / 1000 + 1 + TYPE_SIGNED (t)) #define TM_YEAR_BASE 1900 @@ -748,7 +748,7 @@ my_strftime (s, maxsize, format, tp) *u++ = format_char; *u = '\0'; len = strftime (ubuf, sizeof ubuf, ufmt, tp); - if (len == 0) + if (len == 0 && ubuf[0] != '\0') return 0; cpy (len, ubuf); }