mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
Update.
2002-08-24 Ulrich Drepper <drepper@redhat.com> * locale/programs/charmap.c (charmap_new_char): Don't use ULONG_MAX as maximum UCS4 value. * sysdeps/unix/sysv/linux/ia64/sys/user.h: New file. * sysdeps/generic/strtol.c: We don't need the isascii test in glibc. * malloc/hooks.c (public_sET_STATe): use size_t as type for i. * malloc/malloc.c (mALLINFo): Likewise. * libio/wstrops.c (_IO_wstr_pbackfail): Use WEOF in comparison. * libio/wfileops.c (_IO_wfile_overflow): Use EOF not WEOF when examining result of _IO_do_flush call. * stdio-common/vfprintf.c (vfprintf): Use correct type in va_arg. Use prec not spec when sizing buffers. * catgets/open_catalog.c (__open_catalog): Add casts to avoid warnings. * locale/loadarchive.c (_nl_load_locale_from_archive): Likewise. * locale/loadlocale.c (_nl_intern_locale_data): Likewise. * stdio-common/vfscanf.c (inchar): Likewise. * misc/efgcvt_r.c (fcvt_r): Likewise. * elf/dl-misc.c (_dl_debug_vdprintf): Likewise. * elf/readlib.c (process_file): Likewise. * elf/sprof.c (load_profdata): Likewise. * sysdeps/ia64/hp-timing.h (HP_TIMING_PRINT): Likewise. * locale/programs/linereader.c (get_toplvl_escape): Likewise. * locale/programs/charmap.c (charmap_read): Likewise. * libio/fileops.c: Likewise. * libio/fmemopen.c: Likewise. * stdlib/strtod.c: Likewise. * elf/dl-load.c: Likewise. * iconv/iconvconfig.c: Likewise. * iconv/iconv_prog.c (process_block): Likewise. * sysdeps/unix/sysv/linux/ia64/Makefile: Define _ASM_IA64_CURRENT_H macro to calm down the compiler. * iconv/gconv_cache.c (__gconv_load_cache): Add cast to avoid warning. * sysdeps/ia64/elf/initfini.c: Don't use newlines embedded in string. * sysdeps/unix/sysv/linux/i386/sysdep.S: Update comment regarding placement of errno definition. * sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/mips/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise. * resolv/nss_dns/dns-host.c (MAXPACKET): Increase minimum value from 1024 to 65536, to avoid buffer overrun. 2002-08-16 Paul Eggert <eggert@twinsun.com> * resolv/gethnamaddr.c (MAXPACKET): Increase minimum value from 1024 to 65536, to avoid buffer overrun. * resolv/res_query.c (MAXPACKET): Likewise. architectures.
This commit is contained in:
@ -556,7 +556,8 @@ INTERNAL (STRTOF) (nptr, endptr, group LOCALE_PARAM)
|
||||
/* Return 0.0 if no legal string is found.
|
||||
No character is used even if a sign was found. */
|
||||
#ifdef USE_WIDE_CHAR
|
||||
if (c == decimal && cp[1] >= L'0' && cp[1] <= L'9')
|
||||
if (c == (wint_t) decimal
|
||||
&& (wint_t) cp[1] >= L'0' && (wint_t) cp[1] <= L'9')
|
||||
{
|
||||
/* We accept it. This funny construct is here only to indent
|
||||
the code directly. */
|
||||
@ -648,7 +649,7 @@ INTERNAL (STRTOF) (nptr, endptr, group LOCALE_PARAM)
|
||||
|
||||
/* Ignore leading zeroes. This helps us to avoid useless computations. */
|
||||
#ifdef USE_WIDE_CHAR
|
||||
while (c == L'0' || (thousands != L'\0' && c == thousands))
|
||||
while (c == L'0' || ((wint_t) thousands != L'\0' && c == (wint_t) thousands))
|
||||
c = *++cp;
|
||||
#else
|
||||
if (thousands == NULL)
|
||||
@ -675,17 +676,19 @@ INTERNAL (STRTOF) (nptr, endptr, group LOCALE_PARAM)
|
||||
/* If no other digit but a '0' is found the result is 0.0.
|
||||
Return current read pointer. */
|
||||
if ((c < L_('0') || c > L_('9'))
|
||||
&& (base == 16 && (c < TOLOWER (L_('a')) || c > TOLOWER (L_('f'))))
|
||||
&& (base == 16 && (c < (wint_t) TOLOWER (L_('a'))
|
||||
|| c > (wint_t) TOLOWER (L_('f'))))
|
||||
#ifdef USE_WIDE_CHAR
|
||||
&& c != decimal
|
||||
&& c != (wint_t) decimal
|
||||
#else
|
||||
&& ({ for (cnt = 0; decimal[cnt] != '\0'; ++cnt)
|
||||
if (decimal[cnt] != cp[cnt])
|
||||
break;
|
||||
decimal[cnt] != '\0'; })
|
||||
#endif
|
||||
&& (base == 16 && (cp == start_of_digits || TOLOWER (c) != L_('p')))
|
||||
&& (base != 16 && TOLOWER (c) != L_('e')))
|
||||
&& (base == 16 && (cp == start_of_digits
|
||||
|| (CHAR_TYPE) TOLOWER (c) != L_('p')))
|
||||
&& (base != 16 && (CHAR_TYPE) TOLOWER (c) != L_('e')))
|
||||
{
|
||||
tp = correctly_grouped_prefix (start_of_digits, cp, thousands, grouping);
|
||||
/* If TP is at the start of the digits, there was no correctly
|
||||
@ -700,12 +703,13 @@ INTERNAL (STRTOF) (nptr, endptr, group LOCALE_PARAM)
|
||||
while (1)
|
||||
{
|
||||
if ((c >= L_('0') && c <= L_('9'))
|
||||
|| (base == 16 && TOLOWER (c) >= L_('a') && TOLOWER (c) <= L_('f')))
|
||||
|| (base == 16 && (wint_t) TOLOWER (c) >= L_('a')
|
||||
&& (wint_t) TOLOWER (c) <= L_('f')))
|
||||
++dig_no;
|
||||
else
|
||||
{
|
||||
#ifdef USE_WIDE_CHAR
|
||||
if (thousands == L'\0' || c != thousands)
|
||||
if ((wint_t) thousands == L'\0' || c != (wint_t) thousands)
|
||||
/* Not a digit or separator: end of the integer part. */
|
||||
break;
|
||||
#else
|
||||
@ -765,7 +769,7 @@ INTERNAL (STRTOF) (nptr, endptr, group LOCALE_PARAM)
|
||||
numbers like `16.' i.e. with decimal but without trailing digits. */
|
||||
if (
|
||||
#ifdef USE_WIDE_CHAR
|
||||
c == decimal
|
||||
c == (wint_t) decimal
|
||||
#else
|
||||
({ for (cnt = 0; decimal[cnt] != '\0'; ++cnt)
|
||||
if (decimal[cnt] != cp[cnt])
|
||||
|
Reference in New Issue
Block a user