summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog12
-rw-r--r--time/strftime.c4
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  <eggert@twinsun.com>
+
+	* 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  <eggert@shade.twinsun.com>
+
+	* 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  <kettenis@phys.uva.nl>
 
 	* 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);
 	  }