diff options
author | Roland McGrath <roland@gnu.org> | 1996-07-04 00:07:18 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1996-07-04 00:07:18 +0000 |
commit | 503054c0dd57109017b36870c430dab00fccaa8b (patch) | |
tree | e3788a147156c19d4cf38cc8da0bfcf8d3c6c109 /stdlib | |
parent | 175b633d811d6427fb9206c2bed6aa49f8500b36 (diff) | |
download | glibc-cvs/libc-960705.zip glibc-cvs/libc-960705.tar.gz glibc-cvs/libc-960705.tar.bz2 |
Wed Jul 3 16:29:41 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>cvs/libc-960705cvs/libc-960704
* nss/getXXbyYY_r.c (REENTRANT_NAME): Cast FCT in __nss_next call.
* sysdeps/generic/sbrk.c: Always call __brk (0) to update __curbrk.
* malloc/malloc-size.c (malloc_usable_size): Renamed from
malloc_object_allocation_size.
* malloc/malloc.h: Fix decl.
* sys/select.h: New file, wrapper header.
* posix/sys/types.h [__USE_BSD]: Include <sys/select.h>; remove
fd_set, associated macros, and select decl.
* sysdeps/posix/isfdtype.c: New file.
Tue Jul 2 23:45:14 1996 Ulrich Drepper <drepper@cygnus.com>
The latest Japanese proposal for POSIX locales renames the
CHARMAP keyword in locale definition files to CHARCONV.
* locale/programs/ld-ctype.c, locale/programs/locales.h: Rename
function ctype_is_charmap to ctype_is_charconv.
* locale/programs/locfile-kw.gperf: Replace charmap keyword with
charconv.
* locale/programs/locfile-token.h: Add definition of token
charconv.
* locale/programs/locfile.c: Recognize charconv keyword. Rename
lables according to this.
* locale/weight.h (get_weight): Cast constants to prevent
warnings.
* stdlib/strtod.c, stdlib/strtol.c, string/strcoll.c,
string/strxfrm.c: Add some more casts to prevent signed<->unsigned
warnings.
New stuff described in P1003.1g.
* misc/Makefile (headers): Add sys/select.h.
(routines): Add pselect.
* misc/sys/select.h: New file. Declare select functions and
needed data types and macros.
* sysdeps/generic/pselect.c: New file. Add generic implementation
of pselect() function which uses select().
* posix/getconf.c: Recognize new variables from P1003.1g.
* posix/posix1_lim.h: Define _POSIX_FD_SETSIZE, _POSIX_QLIMIT,
_POSIX_HIWAT, and _POSIX_UIO_MAXIOV.
* posix/unistd.h: Add description of the P1003.1g variables.
* sysdeps/generic/confname.h: Define _SC_* values for new
variables.
* sysdeps/posix/fpathconf.c (fpathconf): Add handling of
_PC_SOCK_MAXBUF.
* sysdeps/stub/fpathconf.c (fpathconf): Ditto.
* sysdeps/posix/sysconf.c (sysconf): Add handling of new
P1003.1g variables.
* sysdeps/stub/sysconf.c (sysconf): Ditto.
* sysdeps/unix/sysv/linux/posix_opt.h: Define _POSIX_POLL and
_POSIX_SELECT since Linux has this.
* socket/Makefile (routines): Add isfdtype.
* sysdeps/generic/sys/socket.h: Add prototype for isfdtype.
* sysdeps/stub/isfdtype.c: New file. Stub implementation of
isfdtype.
* wcsmbs/wcrtomb.c (wcrtomb): Fix typo.
Diffstat (limited to 'stdlib')
-rw-r--r-- | stdlib/strtod.c | 12 | ||||
-rw-r--r-- | stdlib/strtol.c | 7 |
2 files changed, 10 insertions, 9 deletions
diff --git a/stdlib/strtod.c b/stdlib/strtod.c index aff0045..8985426 100644 --- a/stdlib/strtod.c +++ b/stdlib/strtod.c @@ -431,19 +431,19 @@ INTERNAL (STRTOF) (nptr, endptr, group) /* Return 0.0 if no legal string is found. No character is used even if a sign was found. */ if ((c < L_('0') || c > L_('9')) - && (c != decimal || cp[1] < L_('0') || cp[1] > L_('9'))) + && ((wint_t) c != decimal || cp[1] < L_('0') || cp[1] > L_('9'))) RETURN (0.0, nptr); /* Record the start of the digits, in case we will check their grouping. */ start_of_digits = startp = cp; /* Ignore leading zeroes. This helps us to avoid useless computations. */ - while (c == L_('0') || (thousands != L'\0' && c == thousands)) + while (c == L_('0') || (thousands != L'\0' && (wint_t) c == thousands)) c = *++cp; /* 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')) && c != decimal) + if ((c < L_('0') || c > L_('9')) && (wint_t) c != decimal) { tp = correctly_grouped_prefix (start_of_digits, cp, thousands, grouping); /* If TP is at the start of the digits, there was no correctly @@ -462,7 +462,7 @@ INTERNAL (STRTOF) (nptr, endptr, group) { if (c >= L_('0') && c <= L_('9')) ++dig_no; - else if (thousands == L'\0' || c != thousands) + else if (thousands == L'\0' || (wint_t) c != thousands) /* Not a digit or separator: end of the integer part. */ break; c = *++cp; @@ -512,7 +512,7 @@ INTERNAL (STRTOF) (nptr, endptr, group) /* Read the fractional digits. A special case are the 'american style' numbers like `16.' i.e. with decimal but without trailing digits. */ - if (c == decimal) + if ((wint_t) c == decimal) { c = *++cp; while (c >= L_('0') && c <= L_('9')) @@ -609,7 +609,7 @@ INTERNAL (STRTOF) (nptr, endptr, group) if (lead_zero) { /* Find the decimal point */ - while (*startp != decimal) + while ((wint_t) *startp != decimal) ++startp; startp += lead_zero + 1; exponent -= lead_zero; diff --git a/stdlib/strtol.c b/stdlib/strtol.c index 06639a7..3f34e39 100644 --- a/stdlib/strtol.c +++ b/stdlib/strtol.c @@ -248,8 +248,9 @@ INTERNAL (strtol) (nptr, endptr, base, group) /* Find the end of the digit string and check its grouping. */ end = s; for (c = *end; c != L_('\0'); c = *++end) - if (c != thousands && (c < L_('0') || c > L_('9')) - && (!ISALPHA (c) || TOUPPER (c) - L_('A') + 10 >= base)) + if ((wchar_t) c != thousands + && ((wchar_t) c < L_('0') || (wchar_t) c > L_('9')) + && (!ISALPHA (c) || (int) (TOUPPER (c) - L_('A') + 10) >= base)) break; if (*s == thousands) end = s; @@ -275,7 +276,7 @@ INTERNAL (strtol) (nptr, endptr, base, group) c = TOUPPER (c) - L_('A') + 10; else break; - if (c >= base) + if ((int) c >= base) break; /* Check for overflow. */ if (i > cutoff || (i == cutoff && c > cutlim)) |