aboutsummaryrefslogtreecommitdiff
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 7e6e390..fb35673 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 0a830b0..61f688e 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);
}