mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
Sun Jan 14 01:01:10 1996 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>
* stdlib/strtol.c: Return correct pointer for strings like "0xyz" and base 0 or 16. * string/strxfrm.c: Handle case for LENGTH == 0 correct. * sunrpc/etc.rpc: Add some more known protocols. Sun Jan 14 01:01:10 1996 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de> * stdlib/strtol.c: Return correct pointer for strings like "0xyz" and base 0 or 16. * string/strxfrm.c: Handle case for LENGTH == 0 correct. * sunrpc/etc.rpc: Add some more known protocols.
This commit is contained in:
@ -1,3 +1,12 @@
|
|||||||
|
Sun Jan 14 01:01:10 1996 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>
|
||||||
|
|
||||||
|
* stdlib/strtol.c: Return correct pointer for strings
|
||||||
|
like "0xyz" and base 0 or 16.
|
||||||
|
|
||||||
|
* string/strxfrm.c: Handle case for LENGTH == 0 correct.
|
||||||
|
|
||||||
|
* sunrpc/etc.rpc: Add some more known protocols.
|
||||||
|
|
||||||
Fri Jan 12 13:40:01 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
Fri Jan 12 13:40:01 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
||||||
|
|
||||||
* posix/gnu/types.h: Moved to sysdeps/generic/gnu/types.h.
|
* posix/gnu/types.h: Moved to sysdeps/generic/gnu/types.h.
|
||||||
|
@ -150,7 +150,7 @@ INTERNAL (strtol) (nptr, endptr, base, group)
|
|||||||
if (base < 0 || base == 1 || base > 36)
|
if (base < 0 || base == 1 || base > 36)
|
||||||
base = 10;
|
base = 10;
|
||||||
|
|
||||||
s = nptr;
|
save = s = nptr;
|
||||||
|
|
||||||
/* Skip white space. */
|
/* Skip white space. */
|
||||||
while (isspace (*s))
|
while (isspace (*s))
|
||||||
@ -269,9 +269,17 @@ INTERNAL (strtol) (nptr, endptr, base, group)
|
|||||||
return (negative ? -i : i);
|
return (negative ? -i : i);
|
||||||
|
|
||||||
noconv:
|
noconv:
|
||||||
/* There was no number to convert. */
|
/* We must handle a special case here: the base is 0 or 16 and the
|
||||||
|
first two characters and '0' and 'x', but the rest are no
|
||||||
|
hexadecimal digits. This is no error case. We return 0 and
|
||||||
|
ENDPTR points to the `x`. */
|
||||||
if (endptr != NULL)
|
if (endptr != NULL)
|
||||||
*endptr = (char *) nptr;
|
if (save - nptr >= 2 && tolower (save[-1]) == 'x' && save[-2] == '0')
|
||||||
|
*endptr = (char *) &save[-1];
|
||||||
|
else
|
||||||
|
/* There was no number to convert. */
|
||||||
|
*endptr = (char *) nptr;
|
||||||
|
|
||||||
return 0L;
|
return 0L;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,5 +32,8 @@ strxfrm (dest, src, n)
|
|||||||
const char *src;
|
const char *src;
|
||||||
size_t n;
|
size_t n;
|
||||||
{
|
{
|
||||||
|
if (n == 0)
|
||||||
|
return strlen (src);
|
||||||
|
|
||||||
return __stpncpy (dest, src, n) - dest;
|
return __stpncpy (dest, src, n) - dest;
|
||||||
}
|
}
|
||||||
|
@ -31,3 +31,6 @@ keyserv 100029 keyserver
|
|||||||
tfsd 100037
|
tfsd 100037
|
||||||
nsed 100038
|
nsed 100038
|
||||||
nsemntd 100039
|
nsemntd 100039
|
||||||
|
pcnfsd 150001
|
||||||
|
amd 300019 amq
|
||||||
|
bwnfsd 545580417
|
||||||
|
Reference in New Issue
Block a user