1
0
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:
Roland McGrath
1996-01-17 00:46:59 +00:00
parent 294897f4a6
commit da128169aa
4 changed files with 26 additions and 3 deletions

View File

@ -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.

View File

@ -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;
} }

View File

@ -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;
} }

View File

@ -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