mirror of
https://sourceware.org/git/glibc.git
synced 2025-12-24 17:51:17 +03:00
Update.
1998-04-14 16:34 Ulrich Drepper <drepper@cygnus.com> * test-skeleton.c: Provide hook for initializing code before the fork. * rt/tst-aio.c: Use PREPARE hook to make suer temp files are always removed. * libio/fcloseall.c (__fcloseall): Return return value of _IO_cleanup. * libio/genops.c (_IO_cleanup): Return return value of _IO_flush_all. * libio/libioP.h: Adopt _IO_cleanup prototype. * stdlib/Makefile (tests): Add test-canon2. * stdlib/test-canon2.c: New file. * stdlib/canonicalize.c (canonicalize): Allow RESOLVED parameter to be NULL. Use __lxstat, not __lstat. Correctly recognize long symlink sequences. (__realpath): Make real function which checks RESOLVED parameter for not being NULL. 1998-04-14 Ulrich Drepper <drepper@cygnus.com> * catgets/open_catalog.c (__open_catalog): Fix problems with reading non-files. Always close file. Reported by Cristian Gafton <gafton@redhat.com>. * elf/dl-minimal.c (__strtol_internal): Prevent overflow warnings. 1998-04-14 13:28 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add various low-level I/O functions. 1998-04-14 10:35 Ulrich Drepper <drepper@cygnus.com> * string/Makefile (routines): Remove strerror_r. * string/strerror_r.c: Removed. * string/strerror.c: Call __strerror_r for doing the real work. * sysdeps/generic/_strerror.c: Rename function to __strerror_r and add weak alias strerror_r. * sysdeps/mach/_strerror.c: Likewise. * assert/assert-perr.c: Use __strerror_r instead of _strerror_internal. * elf/dl-error.c (_dl_signal_error): Likewise. * elf/dl-profile.c (_dl_start_profile): Likewise. * gmon/gmon.c (write_gmon): Likewise. * stdio-common/perror.c: Likewise. * stdio-common/vfprintf.c: Likewise. 1998-04-10 Mark Kettenis <kettenis@phys.uva.nl> * sysdeps/unix/sysv/linux/Makefile [$(subdir)=inet] (sysdep_headers): Add netatalk/at.h. 1998-04-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * manual/socket.texi, manual/creature.texi, manual/time.texi: Formatting fixes. 1998-04-13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * posix/regex.c: Rename __re_syntax_options back to re_syntax_options, aliases do not work with global variables due to copy relocations. (regex_compile): Use syntax parameter instead of re_syntax_options. 1998-04-14 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Document that enable-force-install is default.
This commit is contained in:
@@ -131,7 +131,7 @@ longjmp (jmp_buf env, int val)
|
||||
in the whole error list. */
|
||||
|
||||
char * weak_function
|
||||
_strerror_internal (int errnum, char *buf, size_t buflen)
|
||||
__strerror_r (int errnum, char *buf, size_t buflen)
|
||||
{
|
||||
char *msg;
|
||||
|
||||
@@ -205,11 +205,10 @@ __assert_perror_fail (int errnum,
|
||||
#endif
|
||||
|
||||
/* This function is only used in eval.c. */
|
||||
long int
|
||||
weak_function
|
||||
long int weak_function
|
||||
__strtol_internal (const char *nptr, char **endptr, int base, int group)
|
||||
{
|
||||
long int result = 0;
|
||||
unsigned long int result = 0;
|
||||
long int sign = 1;
|
||||
|
||||
while (*nptr == ' ' || *nptr == '\t')
|
||||
@@ -246,10 +245,14 @@ __strtol_internal (const char *nptr, char **endptr, int base, int group)
|
||||
|
||||
while (*nptr >= '0' && *nptr <= '9')
|
||||
{
|
||||
long int digval = *nptr - '0';
|
||||
unsigned long int digval = *nptr - '0';
|
||||
if (result > LONG_MAX / 10
|
||||
|| (result == (sign ? LONG_MAX : LONG_MAX + 1) / 10
|
||||
&& digval > (sign ? LONG_MAX : LONG_MAX + 1) % 10))
|
||||
|| (result == (sign
|
||||
? (unsigned long int) LONG_MAX
|
||||
: (unsigned long int) LONG_MAX + 1) / 10
|
||||
&& digval > (sign
|
||||
? (unsigned long int) LONG_MAX
|
||||
: (unsigned long int) LONG_MAX + 1) % 10))
|
||||
{
|
||||
errno = ERANGE;
|
||||
return LONG_MAX * sign;
|
||||
@@ -258,21 +261,19 @@ __strtol_internal (const char *nptr, char **endptr, int base, int group)
|
||||
result += digval;
|
||||
}
|
||||
|
||||
return result * sign;
|
||||
return (long int) result * sign;
|
||||
}
|
||||
|
||||
long int
|
||||
weak_function
|
||||
long int weak_function
|
||||
strtol (const char *nptr, char **endptr, int base)
|
||||
{
|
||||
return __strtol_internal (nptr, endptr, base, 0);
|
||||
}
|
||||
|
||||
unsigned long int
|
||||
weak_function
|
||||
unsigned long int weak_function
|
||||
__strtoul_internal (const char *nptr, char **endptr, int base, int group)
|
||||
{
|
||||
long int result = 0;
|
||||
unsigned long int result = 0;
|
||||
long int sign = 1;
|
||||
|
||||
while (*nptr == ' ' || *nptr == '\t')
|
||||
@@ -309,7 +310,7 @@ __strtoul_internal (const char *nptr, char **endptr, int base, int group)
|
||||
|
||||
while (*nptr >= '0' && *nptr <= '9')
|
||||
{
|
||||
long int digval = *nptr - '0';
|
||||
unsigned long int digval = *nptr - '0';
|
||||
if (result > LONG_MAX / 10
|
||||
|| (result == ULONG_MAX / 10 && digval > ULONG_MAX % 10))
|
||||
{
|
||||
@@ -323,8 +324,7 @@ __strtoul_internal (const char *nptr, char **endptr, int base, int group)
|
||||
return result * sign;
|
||||
}
|
||||
|
||||
unsigned long int
|
||||
weak_function
|
||||
unsigned long int weak_function
|
||||
strtoul (const char *nptr, char **endptr, int base)
|
||||
{
|
||||
return (unsigned long int) __strtoul_internal (nptr, endptr, base, 0);
|
||||
|
||||
Reference in New Issue
Block a user