summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--localedata/ChangeLog5
-rw-r--r--stdio-common/vfprintf.c2
3 files changed, 11 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 8e8926022c..76eaca06ff 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+1998-04-29  Ulrich Drepper  <drepper@cygnus.com>
+
+	* stdio-common/vfprintf.c [%S]: Don't clear mbstate twice;
+	wcsrtombs must put it into initial state.
+
 1998-04-29  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
 
 	* iconv/gconv_simple.c: Fix endian bug.  Don't put side effects in
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index fe9b664a15..2dc4aa7a50 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,3 +1,8 @@
+1998-04-28  Ulrich Drepper  <drepper@cygnus.com>
+
+	* locales/de_DE: Use . as thousands separator and 3;3 groups for
+	LC_NUMERIC.
+
 1998-03-30  Ulrich Drepper  <drepper@cygnus.com>
 
 	* Makefile: Fix test rules from last patch.
diff --git a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c
index d8d0f87b0f..dcc5cdbdaa 100644
--- a/stdio-common/vfprintf.c
+++ b/stdio-common/vfprintf.c
@@ -887,9 +887,9 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap)
 	      /* Illegal wide-character string.  */			      \
 	      return -1;						      \
 									      \
+	    assert (__mbsinit (&mbstate));				      \
 	    s2 = (const wchar_t *) string;				      \
 	    string = alloca (len + 1);					      \
-	    memset (&mbstate, '\0', sizeof (mbstate_t));		      \
 	    (void) __wcsrtombs (string, &s2, prec != -1 ? prec : UINT_MAX,    \
 				&mbstate);				      \
 	  }								      \