* libc/stdio/vfprintf.c (_VFPRINTF_R): Just wave bytes invalid in
the current charset through.
This commit is contained in:
parent
811de4bff3
commit
0b82c17d57
|
@ -1,3 +1,18 @@
|
|||
2010-01-14 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* libc/stdio/vfprintf.c (_VFPRINTF_R): Just wave bytes invalid in
|
||||
the current charset through.
|
||||
|
||||
2010-01-13 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* libc/locale/locale.c (lc_ctype_charset): Disable defaulting to
|
||||
"UTF-8" on Cygwin.
|
||||
(lc_message_charset): Ditto.
|
||||
(loadlocale): Disable setting charset of the "C" locale to "UTF-8" on
|
||||
Cygwin.
|
||||
* libc/stdlib/mbtowc_r.c (__mbtowc): Add Cygwin-specific comment.
|
||||
* libc/stdlib/wctomb_r.c (__wctomb): Ditto.
|
||||
|
||||
2010-01-11 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||||
|
||||
* libc/posix/telldir.c (_cleanupdir): Fixed usage of freed memory.
|
||||
|
|
|
@ -724,8 +724,13 @@ _DEFUN(_VFPRINTF_R, (data, fp, fmt0, ap),
|
|||
cp = fmt;
|
||||
#ifdef _MB_CAPABLE
|
||||
while ((n = __mbtowc (data, &wc, fmt, MB_CUR_MAX,
|
||||
__locale_charset (), &state)) > 0) {
|
||||
if (wc == '%')
|
||||
__locale_charset (), &state)) != 0) {
|
||||
if (n < 0) {
|
||||
/* Wave invalid chars through. */
|
||||
memset (&state, 0, sizeof state);
|
||||
n = 1;
|
||||
}
|
||||
else if (wc == '%')
|
||||
break;
|
||||
fmt += n;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue