1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-12-24 17:51:17 +03:00
1998-04-07 20:32  Ulrich Drepper  <drepper@cygnus.com>

	* wcsmbs/btowc.c: Fix dozends of bugs in untested code.
	* wcsmbs/mbrtowc.c: Likewise.
	* wcsmbs/mbsnrtowcs.c: Likewise.
	* wcsmbs/mbsrtowcs.c: Likewise.
	* wcsmbs/wcrtomb.c: Likewise.
	* wcsmbs/wcsnrtombs.c: Likewise.
	* wcsmbs/wcsrtombs.c: Likewise.
	* wcsmbs/wctob.c: Likewise.

	* iconv/gconv-simple.c (__gconv_transform_ascii_ucs4): Compute
	position of next output character correctly.
	(__gconv_transform_ucs4_ascii): Count used input bytes correctly.

	* stdio-common/vfprintf.c (vfprintf): Clear state before used.

	* stdlib/strtod.c: Don't use mbtowc.

1998-04-07 19:07  H.J. Lu  <hjl@gnu.org>

	* libio/fileops.c (_IO_file_xsgetn): Call __underflow () when
	what we want is smaller than a buffer.

1998-04-07 18:14  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-support.c (_dl_important_hwcaps): Define dummy version of
	this function.
This commit is contained in:
Ulrich Drepper
1998-04-07 20:39:52 +00:00
parent dbe7a0f5de
commit 3c720987c5
15 changed files with 222 additions and 119 deletions

View File

@@ -826,6 +826,7 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap)
mbstate_t mbstate; \
size_t len; \
\
memset (&mbstate, '\0', sizeof (mbstate_t)); \
len = __wcrtomb (buf, (fspec == NULL ? va_arg (ap, wint_t) \
: args_value[fspec->data_arg].pa_wchar), \
&mbstate); \
@@ -880,6 +881,7 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap)
const wchar_t *s2 = (const wchar_t *) string; \
mbstate_t mbstate; \
\
memset (&mbstate, '\0', sizeof (mbstate_t)); \
len = __wcsrtombs (NULL, &s2, 0, &mbstate); \
if (len == (size_t) -1) \
/* Illegal wide-character string. */ \
@@ -887,6 +889,7 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap)
\
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); \
} \
@@ -993,6 +996,9 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap)
#endif
nspecs_done = 0;
/* Put state for processing format string in initial state. */
memset (&mbstate, '\0', sizeof (mbstate_t));
/* Find the first format specifier. */
f = lead_str_end = find_spec (format, &mbstate);