summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2005-03-14 23:23:25 +0000
committerPaul Eggert <eggert@cs.ucla.edu>2005-03-14 23:23:25 +0000
commit2f82566ff2228a7d96d58d378fb6070d849124f1 (patch)
tree2b4610f673794408f658484b9f31a01b198145a8 /lib
parentb6f7c33a382dc2d0e2eeb4d038d6a89d5442503d (diff)
downloadcoreutils-2f82566ff2228a7d96d58d378fb6070d849124f1.tar.xz
* strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
&& HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[].
Diffstat (limited to 'lib')
-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;