mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-23 17:53:37 +08:00
Update.
1999-01-23 Ulrich Drepper <drepper@cygnus.com> * nss/nss_files/files-XXX.c (internal_getent): Make sure the buffer has at least two bytes (not one). Correct buflen parameter type. * nss/nss_files/files-alias.c (get_next_alias): Make sure buffer has at least two bytes. Use fgets_unlocked instead of fgets. * ctype/ctype.h: Don't user __tolower directly for tolower implementation. Use inline function which tests for the range first. Make _tolower equivalent to old tolower macros. Likewise for toupper. * ctype/ctype.c: Change tolower/toupper definition accordingly. * argp/argp-help.c: Use _tolower instead of tolower if possible. * inet/ether_aton_r.c: Likewise. * inet/ether_line.c: Likewise. * inet/rcmd.c: Likewise. * intl/l10nflist.c: Likewise. * locale/programs/ld-collate.c: Likewise. * locale/programs/linereader.c: Likewise. * locale/programs/localedef.c: Likewise. * nis/nss_nis/nis-alias.c: Likewise. * nis/nss_nis/nis-network.c: Likewise. * posix/regex.c: Likewise. * resolv/inet_net_pton.c: Likewise. * stdio-common/printf_fp.c: Likewise. * stdio-common/vfscanf.c: Likewise. * sysdeps/generic/strcasestr.c: Likewise. * math/bits/mathcalls.h: Fix typo.
This commit is contained in:
parent
8831788577
commit
4caef86ca6
31
ChangeLog
31
ChangeLog
@ -1,3 +1,34 @@
|
|||||||
|
1999-01-23 Ulrich Drepper <drepper@cygnus.com>
|
||||||
|
|
||||||
|
* nss/nss_files/files-XXX.c (internal_getent): Make sure the buffer has
|
||||||
|
at least two bytes (not one). Correct buflen parameter type.
|
||||||
|
* nss/nss_files/files-alias.c (get_next_alias): Make sure buffer
|
||||||
|
has at least two bytes. Use fgets_unlocked instead of fgets.
|
||||||
|
|
||||||
|
* ctype/ctype.h: Don't user __tolower directly for tolower
|
||||||
|
implementation. Use inline function which tests for the range
|
||||||
|
first. Make _tolower equivalent to old tolower macros.
|
||||||
|
Likewise for toupper.
|
||||||
|
* ctype/ctype.c: Change tolower/toupper definition accordingly.
|
||||||
|
|
||||||
|
* argp/argp-help.c: Use _tolower instead of tolower if possible.
|
||||||
|
* inet/ether_aton_r.c: Likewise.
|
||||||
|
* inet/ether_line.c: Likewise.
|
||||||
|
* inet/rcmd.c: Likewise.
|
||||||
|
* intl/l10nflist.c: Likewise.
|
||||||
|
* locale/programs/ld-collate.c: Likewise.
|
||||||
|
* locale/programs/linereader.c: Likewise.
|
||||||
|
* locale/programs/localedef.c: Likewise.
|
||||||
|
* nis/nss_nis/nis-alias.c: Likewise.
|
||||||
|
* nis/nss_nis/nis-network.c: Likewise.
|
||||||
|
* posix/regex.c: Likewise.
|
||||||
|
* resolv/inet_net_pton.c: Likewise.
|
||||||
|
* stdio-common/printf_fp.c: Likewise.
|
||||||
|
* stdio-common/vfscanf.c: Likewise.
|
||||||
|
* sysdeps/generic/strcasestr.c: Likewise.
|
||||||
|
|
||||||
|
* math/bits/mathcalls.h: Fix typo.
|
||||||
|
|
||||||
1999-01-23 Roland McGrath <roland@baalperazim.frob.com>
|
1999-01-23 Roland McGrath <roland@baalperazim.frob.com>
|
||||||
|
|
||||||
* sysdeps/gnu/errlist.awk: Add comment.
|
* sysdeps/gnu/errlist.awk: Add comment.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Hierarchial argument parsing help output
|
/* Hierarchial argument parsing help output
|
||||||
Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
|
Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
||||||
|
|
||||||
@ -759,7 +759,11 @@ hol_entry_cmp (const struct hol_entry *entry1,
|
|||||||
{
|
{
|
||||||
char first1 = short1 ? short1 : long1 ? *long1 : 0;
|
char first1 = short1 ? short1 : long1 ? *long1 : 0;
|
||||||
char first2 = short2 ? short2 : long2 ? *long2 : 0;
|
char first2 = short2 ? short2 : long2 ? *long2 : 0;
|
||||||
|
#ifdef _tolower
|
||||||
|
int lower_cmp = _tolower (first1) - _tolower (first2);
|
||||||
|
#else
|
||||||
int lower_cmp = tolower (first1) - tolower (first2);
|
int lower_cmp = tolower (first1) - tolower (first2);
|
||||||
|
#endif
|
||||||
/* Compare ignoring case, except when the options are both the
|
/* Compare ignoring case, except when the options are both the
|
||||||
same letter, in which case lower-case always comes first. */
|
same letter, in which case lower-case always comes first. */
|
||||||
return lower_cmp ? lower_cmp : first2 - first1;
|
return lower_cmp ? lower_cmp : first2 - first1;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
|
/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
|
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
|
||||||
|
|
||||||
@ -33,12 +33,12 @@ ether_aton_r (const char *asc, struct ether_addr *addr)
|
|||||||
unsigned int number;
|
unsigned int number;
|
||||||
char ch;
|
char ch;
|
||||||
|
|
||||||
ch = tolower (*asc++);
|
ch = _tolower (*asc++);
|
||||||
if ((ch < '0' || ch > '9') && (ch < 'a' || ch > 'f'))
|
if ((ch < '0' || ch > '9') && (ch < 'a' || ch > 'f'))
|
||||||
return NULL;
|
return NULL;
|
||||||
number = isdigit (ch) ? (ch - '0') : (ch - 'a' + 10);
|
number = isdigit (ch) ? (ch - '0') : (ch - 'a' + 10);
|
||||||
|
|
||||||
ch = tolower (*asc);
|
ch = _tolower (*asc);
|
||||||
if ((cnt < 5 && ch != ':') || (cnt == 5 && ch != '\0' && !isspace (ch)))
|
if ((cnt < 5 && ch != ':') || (cnt == 5 && ch != '\0' && !isspace (ch)))
|
||||||
{
|
{
|
||||||
++asc;
|
++asc;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1996 Free Software Foundation, Inc.
|
/* Copyright (C) 1996, 1999 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -34,12 +34,12 @@ ether_line (const char *line, struct ether_addr *addr, char *hostname)
|
|||||||
unsigned int number;
|
unsigned int number;
|
||||||
char ch;
|
char ch;
|
||||||
|
|
||||||
ch = tolower (*line++);
|
ch = _tolower (*line++);
|
||||||
if ((ch < '0' || ch > '9') && (ch < 'a' || ch > 'f'))
|
if ((ch < '0' || ch > '9') && (ch < 'a' || ch > 'f'))
|
||||||
return -1;
|
return -1;
|
||||||
number = isdigit (ch) ? (ch - '0') : (ch - 'a' + 10);
|
number = isdigit (ch) ? (ch - '0') : (ch - 'a' + 10);
|
||||||
|
|
||||||
ch = tolower (*line);
|
ch = _tolower (*line);
|
||||||
if ((cnt < 5 && ch != ':') || (cnt == 5 && ch != '\0' && !isspace (ch)))
|
if ((cnt < 5 && ch != ':') || (cnt == 5 && ch != '\0' && !isspace (ch)))
|
||||||
{
|
{
|
||||||
++line;
|
++line;
|
||||||
|
@ -574,7 +574,7 @@ __ivaliduser2(hostf, raddr, luser, ruser, rhost)
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (;*p && !isspace(*p); ++p) {
|
for (;*p && !isspace(*p); ++p) {
|
||||||
*p = tolower (*p);
|
*p = _tolower (*p);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Next we want to find the permitted name for the remote user. */
|
/* Next we want to find the permitted name for the remote user. */
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
|
/* Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||||
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
|
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
|
||||||
|
|
||||||
This file is part of the GNU C Library. Its master source is NOT part of
|
This file is part of the GNU C Library. Its master source is NOT part of
|
||||||
@ -384,7 +384,7 @@ _nl_normalize_codeset (codeset, name_len)
|
|||||||
|
|
||||||
for (cnt = 0; cnt < name_len; ++cnt)
|
for (cnt = 0; cnt < name_len; ++cnt)
|
||||||
if (isalpha (codeset[cnt]))
|
if (isalpha (codeset[cnt]))
|
||||||
*wp++ = tolower (codeset[cnt]);
|
*wp++ = _tolower (codeset[cnt]);
|
||||||
else if (isdigit (codeset[cnt]))
|
else if (isdigit (codeset[cnt]))
|
||||||
*wp++ = codeset[cnt];
|
*wp++ = codeset[cnt];
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
|
/* Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
|
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
|
||||||
|
|
||||||
@ -1764,12 +1764,12 @@ collate_simple_weight (struct linereader *lr, struct localedef_t *locale,
|
|||||||
int base;
|
int base;
|
||||||
|
|
||||||
++runp;
|
++runp;
|
||||||
if (tolower (*runp) == 'x')
|
if (_tolower (*runp) == 'x')
|
||||||
{
|
{
|
||||||
++runp;
|
++runp;
|
||||||
base = 16;
|
base = 16;
|
||||||
}
|
}
|
||||||
else if (tolower (*runp) == 'd')
|
else if (_tolower (*runp) == 'd')
|
||||||
{
|
{
|
||||||
++runp;
|
++runp;
|
||||||
base = 10;
|
base = 10;
|
||||||
@ -1777,7 +1777,7 @@ collate_simple_weight (struct linereader *lr, struct localedef_t *locale,
|
|||||||
else
|
else
|
||||||
base = 8;
|
base = 8;
|
||||||
|
|
||||||
dp = strchr (digits, tolower (*runp));
|
dp = strchr (digits, _tolower (*runp));
|
||||||
if (dp == NULL || (dp - digits) >= base)
|
if (dp == NULL || (dp - digits) >= base)
|
||||||
{
|
{
|
||||||
illegal_char:
|
illegal_char:
|
||||||
@ -1789,7 +1789,7 @@ illegal character constant in string"));
|
|||||||
wch = dp - digits;
|
wch = dp - digits;
|
||||||
++runp;
|
++runp;
|
||||||
|
|
||||||
dp = strchr (digits, tolower (*runp));
|
dp = strchr (digits, _tolower (*runp));
|
||||||
if (dp == NULL || (dp - digits) >= base)
|
if (dp == NULL || (dp - digits) >= base)
|
||||||
goto illegal_char;
|
goto illegal_char;
|
||||||
wch *= base;
|
wch *= base;
|
||||||
@ -1798,7 +1798,7 @@ illegal character constant in string"));
|
|||||||
|
|
||||||
if (base != 16)
|
if (base != 16)
|
||||||
{
|
{
|
||||||
dp = strchr (digits, tolower (*runp));
|
dp = strchr (digits, _tolower (*runp));
|
||||||
if (dp != NULL && (dp - digits < base))
|
if (dp != NULL && (dp - digits < base))
|
||||||
{
|
{
|
||||||
wch *= base;
|
wch *= base;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
|
/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996.
|
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996.
|
||||||
|
|
||||||
@ -300,7 +300,7 @@ get_toplvl_escape (struct linereader *lr)
|
|||||||
if (isdigit (ch))
|
if (isdigit (ch))
|
||||||
byte = ch - '0';
|
byte = ch - '0';
|
||||||
else
|
else
|
||||||
byte = tolower (ch) - 'a' + 10;
|
byte = _tolower (ch) - 'a' + 10;
|
||||||
|
|
||||||
ch = lr_getc (lr);
|
ch = lr_getc (lr);
|
||||||
if ((base == 16 && !isxdigit (ch))
|
if ((base == 16 && !isxdigit (ch))
|
||||||
@ -311,7 +311,7 @@ get_toplvl_escape (struct linereader *lr)
|
|||||||
if (isdigit (ch))
|
if (isdigit (ch))
|
||||||
byte += ch - '0';
|
byte += ch - '0';
|
||||||
else
|
else
|
||||||
byte += tolower (ch) - 'a' + 10;
|
byte += _tolower (ch) - 'a' + 10;
|
||||||
|
|
||||||
ch = lr_getc (lr);
|
ch = lr_getc (lr);
|
||||||
if (base != 16 && isdigit (ch))
|
if (base != 16 && isdigit (ch))
|
||||||
|
@ -558,7 +558,7 @@ normalize_codeset (codeset, name_len)
|
|||||||
|
|
||||||
for (cnt = 0; cnt < name_len; ++cnt)
|
for (cnt = 0; cnt < name_len; ++cnt)
|
||||||
if (isalpha (codeset[cnt]))
|
if (isalpha (codeset[cnt]))
|
||||||
*wp++ = tolower (codeset[cnt]);
|
*wp++ = _tolower (codeset[cnt]);
|
||||||
else if (isdigit (codeset[cnt]))
|
else if (isdigit (codeset[cnt]))
|
||||||
*wp++ = codeset[cnt];
|
*wp++ = codeset[cnt];
|
||||||
|
|
||||||
|
@ -275,7 +275,7 @@ __MATHDECL (int,ilogb,, (_Mdouble_ __x));
|
|||||||
/* Return X times (2 to the Nth power). */
|
/* Return X times (2 to the Nth power). */
|
||||||
__MATHCALL (scalbln,, (_Mdouble_ __x, long int __n));
|
__MATHCALL (scalbln,, (_Mdouble_ __x, long int __n));
|
||||||
|
|
||||||
/* Round X to integral valuein floating-point format using current
|
/* Round X to integral value in floating-point format using current
|
||||||
rounding direction, but do not raise inexact exception. */
|
rounding direction, but do not raise inexact exception. */
|
||||||
__MATHCALL (nearbyint,, (_Mdouble_ __x));
|
__MATHCALL (nearbyint,, (_Mdouble_ __x));
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
|
/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
|
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
|
||||||
|
|
||||||
@ -245,7 +245,7 @@ _nss_nis_getaliasbyname_r (const char *name, struct aliasent *alias,
|
|||||||
|
|
||||||
/* Convert name to lowercase. */
|
/* Convert name to lowercase. */
|
||||||
for (i = 0; i < namlen; ++i)
|
for (i = 0; i < namlen; ++i)
|
||||||
name2[i] = tolower (name[i]);
|
name2[i] = _tolower (name[i]);
|
||||||
name2[i] = '\0';
|
name2[i] = '\0';
|
||||||
|
|
||||||
retval = yperr2nss (yp_match (domain, "mail.aliases", name2, namlen,
|
retval = yperr2nss (yp_match (domain, "mail.aliases", name2, namlen,
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
|
/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
|
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
|
||||||
|
|
||||||
@ -195,7 +195,7 @@ _nss_nis_getnetbyname_r (const char *name, struct netent *net, char *buffer,
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < namlen; ++i)
|
for (i = 0; i < namlen; ++i)
|
||||||
name2[i] = tolower (name[i]);
|
name2[i] = _tolower (name[i]);
|
||||||
name2[i] = '\0';
|
name2[i] = '\0';
|
||||||
|
|
||||||
retval = yperr2nss (yp_match (domain, "networks.byname", name2,
|
retval = yperr2nss (yp_match (domain, "networks.byname", name2,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Common code for file-based databases in nss_files module.
|
/* Common code for file-based databases in nss_files module.
|
||||||
Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
|
Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -162,14 +162,14 @@ CONCAT(_nss_files_end,ENTNAME) (void)
|
|||||||
|
|
||||||
static enum nss_status
|
static enum nss_status
|
||||||
internal_getent (struct STRUCTURE *result,
|
internal_getent (struct STRUCTURE *result,
|
||||||
char *buffer, int buflen, int *errnop H_ERRNO_PROTO)
|
char *buffer, size_t buflen, int *errnop H_ERRNO_PROTO)
|
||||||
{
|
{
|
||||||
char *p;
|
char *p;
|
||||||
struct parser_data *data = (void *) buffer;
|
struct parser_data *data = (void *) buffer;
|
||||||
int linebuflen = buffer + buflen - data->linebuffer;
|
int linebuflen = buffer + buflen - data->linebuffer;
|
||||||
int parse_result;
|
int parse_result;
|
||||||
|
|
||||||
if (buflen < (int) sizeof *data + 1)
|
if (buflen < sizeof *data + 2)
|
||||||
{
|
{
|
||||||
*errnop = ERANGE;
|
*errnop = ERANGE;
|
||||||
H_ERRNO_SET (NETDB_INTERNAL);
|
H_ERRNO_SET (NETDB_INTERNAL);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Mail alias file parser in nss_files module.
|
/* Mail alias file parser in nss_files module.
|
||||||
Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
|
Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
|
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
|
||||||
|
|
||||||
@ -148,10 +148,15 @@ get_next_alias (const char *match, struct aliasent *result,
|
|||||||
size_t room_left = buflen - (buflen % __alignof__ (char *));
|
size_t room_left = buflen - (buflen % __alignof__ (char *));
|
||||||
char *line;
|
char *line;
|
||||||
|
|
||||||
|
/* Check whether the buffer is large enough for even trying to
|
||||||
|
read something. */
|
||||||
|
if (room_left < 2)
|
||||||
|
goto no_more_room;
|
||||||
|
|
||||||
/* Read the first line. It must contain the alias name and
|
/* Read the first line. It must contain the alias name and
|
||||||
possibly some alias names. */
|
possibly some alias names. */
|
||||||
first_unused[room_left - 1] = '\xff';
|
first_unused[room_left - 1] = '\xff';
|
||||||
line = fgets (first_unused, room_left, stream);
|
line = fgets_unlocked (first_unused, room_left, stream);
|
||||||
if (line == NULL)
|
if (line == NULL)
|
||||||
/* Nothing to read. */
|
/* Nothing to read. */
|
||||||
break;
|
break;
|
||||||
@ -245,7 +250,8 @@ get_next_alias (const char *match, struct aliasent *result,
|
|||||||
while (! feof (listfile))
|
while (! feof (listfile))
|
||||||
{
|
{
|
||||||
first_unused[room_left - 1] = '\xff';
|
first_unused[room_left - 1] = '\xff';
|
||||||
line = fgets (first_unused, room_left, listfile);
|
line = fgets_unlocked (first_unused, room_left,
|
||||||
|
listfile);
|
||||||
if (line == NULL)
|
if (line == NULL)
|
||||||
break;
|
break;
|
||||||
if (first_unused[room_left - 1] != '\xff')
|
if (first_unused[room_left - 1] != '\xff')
|
||||||
@ -345,7 +351,7 @@ get_next_alias (const char *match, struct aliasent *result,
|
|||||||
/* The just read character is a white space and so
|
/* The just read character is a white space and so
|
||||||
can be ignored. */
|
can be ignored. */
|
||||||
first_unused[room_left - 1] = '\xff';
|
first_unused[room_left - 1] = '\xff';
|
||||||
line = fgets (first_unused, room_left, stream);
|
line = fgets_unlocked (first_unused, room_left, stream);
|
||||||
if (first_unused[room_left - 1] != '\xff')
|
if (first_unused[room_left - 1] != '\xff')
|
||||||
goto no_more_room;
|
goto no_more_room;
|
||||||
cp = strpbrk (line, "#\n");
|
cp = strpbrk (line, "#\n");
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
version 0.12.
|
version 0.12.
|
||||||
(Implements POSIX draft P1003.2/D11.2, except for some of the
|
(Implements POSIX draft P1003.2/D11.2, except for some of the
|
||||||
internationalization features.)
|
internationalization features.)
|
||||||
Copyright (C) 1993, 94, 95, 96, 97, 98 Free Software Foundation, Inc.
|
Copyright (C) 1993, 94, 95, 96, 97, 98, 99 Free Software Foundation, Inc.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the GNU Library General Public License as
|
modify it under the terms of the GNU Library General Public License as
|
||||||
@ -254,6 +254,12 @@ init_syntax_once ()
|
|||||||
#define ISUPPER(c) (ISASCII (c) && isupper (c))
|
#define ISUPPER(c) (ISASCII (c) && isupper (c))
|
||||||
#define ISXDIGIT(c) (ISASCII (c) && isxdigit (c))
|
#define ISXDIGIT(c) (ISASCII (c) && isxdigit (c))
|
||||||
|
|
||||||
|
#ifdef _tolower
|
||||||
|
# define TOLOWER(c) _tolower(c)
|
||||||
|
#else
|
||||||
|
# define TOLOWER(c) tolower(c)
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef NULL
|
#ifndef NULL
|
||||||
# define NULL (void *)0
|
# define NULL (void *)0
|
||||||
#endif
|
#endif
|
||||||
@ -5628,7 +5634,7 @@ regcomp (preg, pattern, cflags)
|
|||||||
|
|
||||||
/* Map uppercase characters to corresponding lowercase ones. */
|
/* Map uppercase characters to corresponding lowercase ones. */
|
||||||
for (i = 0; i < CHAR_SET_SIZE; i++)
|
for (i = 0; i < CHAR_SET_SIZE; i++)
|
||||||
preg->translate[i] = ISUPPER (i) ? tolower (i) : i;
|
preg->translate[i] = ISUPPER (i) ? TOLOWER (i) : i;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
preg->translate = NULL;
|
preg->translate = NULL;
|
||||||
|
@ -107,8 +107,7 @@ inet_net_pton_ipv4(src, dst, size)
|
|||||||
src++; /* skip x or X. */
|
src++; /* skip x or X. */
|
||||||
while ((ch = *src++) != '\0' &&
|
while ((ch = *src++) != '\0' &&
|
||||||
isascii(ch) && isxdigit(ch)) {
|
isascii(ch) && isxdigit(ch)) {
|
||||||
if (isupper(ch))
|
ch = _tolower(ch);
|
||||||
ch = tolower(ch);
|
|
||||||
n = strchr(xdigits, ch) - xdigits;
|
n = strchr(xdigits, ch) - xdigits;
|
||||||
assert(n >= 0 && n <= 15);
|
assert(n >= 0 && n <= 15);
|
||||||
*dst |= n;
|
*dst |= n;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Floating point output for `printf'.
|
/* Floating point output for `printf'.
|
||||||
Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
|
Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
|
Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
|
||||||
|
|
||||||
@ -709,7 +709,7 @@ __printf_fp (FILE *fp,
|
|||||||
int dig_max;
|
int dig_max;
|
||||||
int significant;
|
int significant;
|
||||||
|
|
||||||
if (tolower (info->spec) == 'e')
|
if (_tolower (info->spec) == 'e')
|
||||||
{
|
{
|
||||||
type = info->spec;
|
type = info->spec;
|
||||||
intdig_max = 1;
|
intdig_max = 1;
|
||||||
|
@ -844,7 +844,7 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
|
|||||||
ADDW (c);
|
ADDW (c);
|
||||||
c = inchar ();
|
c = inchar ();
|
||||||
|
|
||||||
if (width != 0 && tolower (c) == 'x')
|
if (width != 0 && _tolower (c) == 'x')
|
||||||
{
|
{
|
||||||
if (base == 0)
|
if (base == 0)
|
||||||
base = 16;
|
base = 16;
|
||||||
@ -883,9 +883,9 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
|
|||||||
we must recognize "(nil)" as well. */
|
we must recognize "(nil)" as well. */
|
||||||
if (wpsize == 0 && read_pointer && (width < 0 || width >= 0)
|
if (wpsize == 0 && read_pointer && (width < 0 || width >= 0)
|
||||||
&& c == '('
|
&& c == '('
|
||||||
&& tolower (inchar ()) == 'n'
|
&& _tolower (inchar ()) == 'n'
|
||||||
&& tolower (inchar ()) == 'i'
|
&& _tolower (inchar ()) == 'i'
|
||||||
&& tolower (inchar ()) == 'l'
|
&& _tolower (inchar ()) == 'l'
|
||||||
&& inchar () == ')')
|
&& inchar () == ')')
|
||||||
/* We must produce the value of a NULL pointer. A single
|
/* We must produce the value of a NULL pointer. A single
|
||||||
'0' digit is enough. */
|
'0' digit is enough. */
|
||||||
@ -980,46 +980,46 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
|
|||||||
negative = 0;
|
negative = 0;
|
||||||
|
|
||||||
/* Take care for the special arguments "nan" and "inf". */
|
/* Take care for the special arguments "nan" and "inf". */
|
||||||
if (tolower (c) == 'n')
|
if (_tolower (c) == 'n')
|
||||||
{
|
{
|
||||||
/* Maybe "nan". */
|
/* Maybe "nan". */
|
||||||
ADDW (c);
|
ADDW (c);
|
||||||
if (inchar () == EOF || tolower (c) != 'a')
|
if (inchar () == EOF || _tolower (c) != 'a')
|
||||||
input_error ();
|
input_error ();
|
||||||
ADDW (c);
|
ADDW (c);
|
||||||
if (inchar () == EOF || tolower (c) != 'n')
|
if (inchar () == EOF || _tolower (c) != 'n')
|
||||||
input_error ();
|
input_error ();
|
||||||
ADDW (c);
|
ADDW (c);
|
||||||
/* It is "nan". */
|
/* It is "nan". */
|
||||||
goto scan_float;
|
goto scan_float;
|
||||||
}
|
}
|
||||||
else if (tolower (c) == 'i')
|
else if (_tolower (c) == 'i')
|
||||||
{
|
{
|
||||||
/* Maybe "inf" or "infinity". */
|
/* Maybe "inf" or "infinity". */
|
||||||
ADDW (c);
|
ADDW (c);
|
||||||
if (inchar () == EOF || tolower (c) != 'n')
|
if (inchar () == EOF || _tolower (c) != 'n')
|
||||||
input_error ();
|
input_error ();
|
||||||
ADDW (c);
|
ADDW (c);
|
||||||
if (inchar () == EOF || tolower (c) != 'f')
|
if (inchar () == EOF || _tolower (c) != 'f')
|
||||||
input_error ();
|
input_error ();
|
||||||
ADDW (c);
|
ADDW (c);
|
||||||
/* It is as least "inf". */
|
/* It is as least "inf". */
|
||||||
if (inchar () != EOF)
|
if (inchar () != EOF)
|
||||||
{
|
{
|
||||||
if (tolower (c) == 'i')
|
if (_tolower (c) == 'i')
|
||||||
{
|
{
|
||||||
/* No we have to read the rest as well. */
|
/* No we have to read the rest as well. */
|
||||||
ADDW (c);
|
ADDW (c);
|
||||||
if (inchar () == EOF || tolower (c) != 'n')
|
if (inchar () == EOF || _tolower (c) != 'n')
|
||||||
input_error ();
|
input_error ();
|
||||||
ADDW (c);
|
ADDW (c);
|
||||||
if (inchar () == EOF || tolower (c) != 'i')
|
if (inchar () == EOF || _tolower (c) != 'i')
|
||||||
input_error ();
|
input_error ();
|
||||||
ADDW (c);
|
ADDW (c);
|
||||||
if (inchar () == EOF || tolower (c) != 't')
|
if (inchar () == EOF || _tolower (c) != 't')
|
||||||
input_error ();
|
input_error ();
|
||||||
ADDW (c);
|
ADDW (c);
|
||||||
if (inchar () == EOF || tolower (c) != 'y')
|
if (inchar () == EOF || _tolower (c) != 'y')
|
||||||
input_error ();
|
input_error ();
|
||||||
ADDW (c);
|
ADDW (c);
|
||||||
}
|
}
|
||||||
@ -1036,7 +1036,7 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
|
|||||||
{
|
{
|
||||||
ADDW (c);
|
ADDW (c);
|
||||||
c = inchar ();
|
c = inchar ();
|
||||||
if (tolower (c) == 'x')
|
if (_tolower (c) == 'x')
|
||||||
{
|
{
|
||||||
/* It is a number in hexadecimal format. */
|
/* It is a number in hexadecimal format. */
|
||||||
ADDW (c);
|
ADDW (c);
|
||||||
@ -1060,7 +1060,7 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
|
|||||||
else if (got_e && wp[wpsize - 1] == exp_char
|
else if (got_e && wp[wpsize - 1] == exp_char
|
||||||
&& (c == '-' || c == '+'))
|
&& (c == '-' || c == '+'))
|
||||||
ADDW (c);
|
ADDW (c);
|
||||||
else if (wpsize > 0 && !got_e && tolower (c) == exp_char)
|
else if (wpsize > 0 && !got_e && _tolower (c) == exp_char)
|
||||||
{
|
{
|
||||||
ADDW (exp_char);
|
ADDW (exp_char);
|
||||||
got_e = got_dot = 1;
|
got_e = got_dot = 1;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Return the offset of one string within another.
|
/* Return the offset of one string within another.
|
||||||
Copyright (C) 1994, 1996, 1997, 1998 Free Software Foundation, Inc.
|
Copyright (C) 1994, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -52,7 +52,7 @@ __strcasestr (phaystack, pneedle)
|
|||||||
haystack = (const unsigned char *) phaystack;
|
haystack = (const unsigned char *) phaystack;
|
||||||
needle = (const unsigned char *) pneedle;
|
needle = (const unsigned char *) pneedle;
|
||||||
|
|
||||||
b = tolower (*needle);
|
b = _tolower (*needle);
|
||||||
if (b != '\0')
|
if (b != '\0')
|
||||||
{
|
{
|
||||||
haystack--; /* possible ANSI violation */
|
haystack--; /* possible ANSI violation */
|
||||||
@ -62,9 +62,9 @@ __strcasestr (phaystack, pneedle)
|
|||||||
if (c == '\0')
|
if (c == '\0')
|
||||||
goto ret0;
|
goto ret0;
|
||||||
}
|
}
|
||||||
while (tolower (c) != b);
|
while (_tolower (c) != b);
|
||||||
|
|
||||||
c = tolower (*++needle);
|
c = _tolower (*++needle);
|
||||||
if (c == '\0')
|
if (c == '\0')
|
||||||
goto foundneedle;
|
goto foundneedle;
|
||||||
++needle;
|
++needle;
|
||||||
@ -80,40 +80,40 @@ __strcasestr (phaystack, pneedle)
|
|||||||
a = *++haystack;
|
a = *++haystack;
|
||||||
if (a == '\0')
|
if (a == '\0')
|
||||||
goto ret0;
|
goto ret0;
|
||||||
if (tolower (a) == b)
|
if (_tolower (a) == b)
|
||||||
break;
|
break;
|
||||||
a = *++haystack;
|
a = *++haystack;
|
||||||
if (a == '\0')
|
if (a == '\0')
|
||||||
goto ret0;
|
goto ret0;
|
||||||
shloop: }
|
shloop: }
|
||||||
while (tolower (a) != b);
|
while (_tolower (a) != b);
|
||||||
|
|
||||||
jin: a = *++haystack;
|
jin: a = *++haystack;
|
||||||
if (a == '\0')
|
if (a == '\0')
|
||||||
goto ret0;
|
goto ret0;
|
||||||
|
|
||||||
if (tolower (a) != c)
|
if (_tolower (a) != c)
|
||||||
goto shloop;
|
goto shloop;
|
||||||
|
|
||||||
rhaystack = haystack-- + 1;
|
rhaystack = haystack-- + 1;
|
||||||
rneedle = needle;
|
rneedle = needle;
|
||||||
a = tolower (*rneedle);
|
a = _tolower (*rneedle);
|
||||||
|
|
||||||
if (tolower (*rhaystack) == a)
|
if (_tolower (*rhaystack) == a)
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
if (a == '\0')
|
if (a == '\0')
|
||||||
goto foundneedle;
|
goto foundneedle;
|
||||||
++rhaystack;
|
++rhaystack;
|
||||||
a = tolower (*++needle);
|
a = _tolower (*++needle);
|
||||||
if (tolower (*rhaystack) != a)
|
if (_tolower (*rhaystack) != a)
|
||||||
break;
|
break;
|
||||||
if (a == '\0')
|
if (a == '\0')
|
||||||
goto foundneedle;
|
goto foundneedle;
|
||||||
++rhaystack;
|
++rhaystack;
|
||||||
a = tolower (*++needle);
|
a = _tolower (*++needle);
|
||||||
}
|
}
|
||||||
while (tolower (*rhaystack) == a);
|
while (_tolower (*rhaystack) == a);
|
||||||
|
|
||||||
needle = rneedle; /* took the register-poor approach */
|
needle = rneedle; /* took the register-poor approach */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user