Update.
authorUlrich Drepper <drepper@redhat.com>
Wed, 20 May 1998 14:50:12 +0000 (14:50 +0000)
committerUlrich Drepper <drepper@redhat.com>
Wed, 20 May 1998 14:50:12 +0000 (14:50 +0000)
1998-05-20  Ulrich Drepper  <drepper@cygnus.com>

* stdio-common/vfprintf.c: When precision is specified for %ls or
%S handle it correctly.

ChangeLog
stdio-common/vfprintf.c

index 070fac1..65035dd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+1998-05-20  Ulrich Drepper  <drepper@cygnus.com>
+
+       * stdio-common/vfprintf.c: When precision is specified for %ls or
+       %S handle it correctly.
+
 1998-05-20  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
 
        * sysdeps/unix/bsd/vax/vfork.S: Missed double occurences of "the
index dcc5cdb..ef9165e 100644 (file)
@@ -890,8 +890,9 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap)
            assert (__mbsinit (&mbstate));                                    \
            s2 = (const wchar_t *) string;                                    \
            string = alloca (len + 1);                                        \
-           (void) __wcsrtombs (string, &s2, prec != -1 ? prec : UINT_MAX,    \
-                               &mbstate);                                    \
+           (void) __wcsrtombs (string, &s2, len + 1, &mbstate);              \
+           if (prec < min)                                                   \
+             len = prec;                                                     \
          }                                                                   \
                                                                              \
        if ((width -= len) < 0)                                               \