summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/ChangeLog9
-rw-r--r--lib/strftime.c1
2 files changed, 10 insertions, 0 deletions
diff --git a/lib/ChangeLog b/lib/ChangeLog
index 4d0e73a81..236184d4f 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,12 @@
+2005-03-14 Jim Meyering <jim@meyering.net>
+
+ * strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
+ && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
+ to be nonzero so that we (and caller) can detect the difference
+ between a valid zero-length expansion and an error return, even
+ when the underlying strftime fails before writing anything into
+ that location.
+
2005-03-11 Jim Meyering <jim@meyering.net>
* getdate.c: Regenerate using bison-2.0.
diff --git a/lib/strftime.c b/lib/strftime.c
index 8085a5992..78a963b42 100644
--- a/lib/strftime.c
+++ b/lib/strftime.c
@@ -776,6 +776,7 @@ my_strftime (CHAR_T *s, size_t maxsize, const CHAR_T *format,
*u++ = modifier;
*u++ = format_char;
*u = '\0';
+ ubuf[0] = '\1';
len = strftime (ubuf, sizeof ubuf, ufmt, tp);
if (len == 0 && ubuf[0] != '\0')
return 0;