* conform/data/stdlib.h-data: Account for XPG6 changes.
	* stdlib/stdlib.h (__random): Change return value type to long.
	(posix_memalign): Cleanup parameter names.
	(setenv, unsetenv): Make available for __USE_XOPEN2K.
	Change return type of unsetenv to int.
	(qecvt, qgcvt, qfcvt): Declare only if __USE_MISC.
	* sysdeps/generic/setenv.c (unsetenv): Change return type to int.
	Return -1 and set errno if parameter is invalid.
	* stdlib/random.c (__random): Change return value type to long.
This commit is contained in:
Ulrich Drepper 2001-01-27 07:07:07 +00:00
parent 69bd45bdbd
commit 61f9d0a356
6 changed files with 54 additions and 10 deletions

View File

@ -1,5 +1,15 @@
2001-01-26 Ulrich Drepper <drepper@redhat.com> 2001-01-26 Ulrich Drepper <drepper@redhat.com>
* conform/data/stdlib.h-data: Account for XPG6 changes.
* stdlib/stdlib.h (__random): Change return value type to long.
(posix_memalign): Cleanup parameter names.
(setenv, unsetenv): Make available for __USE_XOPEN2K.
Change return type of unsetenv to int.
(qecvt, qgcvt, qfcvt): Declare only if __USE_MISC.
* sysdeps/generic/setenv.c (unsetenv): Change return type to int.
Return -1 and set errno if parameter is invalid.
* stdlib/random.c (__random): Change return value type to long.
* conform/data/stdio.h-data: Account for changes in XPG6. * conform/data/stdio.h-data: Account for changes in XPG6.
* conform/data/spawn.h-data: Correct posix_spawnattr_setflags * conform/data/spawn.h-data: Correct posix_spawnattr_setflags

View File

@ -5,7 +5,16 @@ constant RAND_MAX >= 32767
macro MB_CUR_MAX macro MB_CUR_MAX
type div_t type div_t
element div_t int quot
element div_t int rem
type ldiv_t type ldiv_t
element ldiv_t long quot
element ldiv_t long rem
#ifdef XOPEN2K
type lldiv_t
element lldiv_t {long long} quot
element lldiv_t {long long} rem
#endif
type size_t type size_t
type wchar_t type wchar_t
@ -13,7 +22,6 @@ constant WNOHANG
constant WUNTRACED constant WUNTRACED
macro WEXITSTATUS macro WEXITSTATUS
macro WIFCONTINUED
macro WIFEXITED macro WIFEXITED
macro WIFSIGNALED macro WIFSIGNALED
macro WIFSTOPPED macro WIFSTOPPED
@ -27,6 +35,9 @@ function int atexit (void(*)(void))
function double atof (const char*) function double atof (const char*)
function int atoi (const char*) function int atoi (const char*)
function {long int} atol (const char*) function {long int} atol (const char*)
#ifdef XOPEN2K
function {long long} atoll (const char*)
#endif
function {void*} bsearch (const void*, const void*, size_t, size_t, int(*)(const void*, const void*)) function {void*} bsearch (const void*, const void*, size_t, size_t, int(*)(const void*, const void*))
function {void*} calloc (size_t, size_t) function {void*} calloc (size_t, size_t)
function div_t div (int, int) function div_t div (int, int)
@ -46,6 +57,10 @@ function {char*} l64a (long)
function {long int} labs (long int) function {long int} labs (long int)
function void lcong48 (unsigned short int[7]) function void lcong48 (unsigned short int[7])
function ldiv_t ldiv (long int, long int) function ldiv_t ldiv (long int, long int)
#ifdef XOPEN2K
function {long long} llabs (long long)
function lldiv_t lldiv (long long, long long)
#endif
function {long int} lrand48 (void) function {long int} lrand48 (void)
function {void*} malloc (size_t) function {void*} malloc (size_t)
function int mblen (const char*, size_t) function int mblen (const char*, size_t)
@ -56,6 +71,9 @@ function int mkstemp (char*)
function {long int} mrand48 (void) function {long int} mrand48 (void)
function {long int} nrand48 (unsigned short int[3]) function {long int} nrand48 (unsigned short int[3])
function int posix_memalign (void**, size_t, size_t) function int posix_memalign (void**, size_t, size_t)
#ifdef XOPEN2K
function int posix_openpt (int)
#endif
function {char*} ptsname (int) function {char*} ptsname (int)
function int putenv (char*) function int putenv (char*)
function void qsort (void*, size_t, size_t, int(*)(const void*, const void*)) function void qsort (void*, size_t, size_t, int(*)(const void*, const void*))
@ -75,7 +93,9 @@ function double strtod (const char*, char**)
function {long int} strtol (const char*, char**, int) function {long int} strtol (const char*, char**, int)
function {unsigned long int} strtoul (const char*, char**, int) function {unsigned long int} strtoul (const char*, char**, int)
function int system (const char*) function int system (const char*)
#ifndef XOPEN2K
function int ttyslot (void) function int ttyslot (void)
#endif
function int unlockpt (int) function int unlockpt (int)
function int unsetenv (const char*) function int unsetenv (const char*)
function {void*} valloc (size_t) function {void*} valloc (size_t)

View File

@ -1,5 +1,8 @@
2001-01-26 Ulrich Drepper <drepper@redhat.com> 2001-01-26 Ulrich Drepper <drepper@redhat.com>
* sysdeps/pthread/bits/pthreadtypes.h: Define pthread_attr_t also
as struct __pthread_attr_s.
* semaphore.h (sem_t): Cleanup namespace, rename status and * semaphore.h (sem_t): Cleanup namespace, rename status and
spinlock elements. spinlock elements.

View File

@ -259,7 +259,7 @@ weak_alias (__setstate, setstate)
rear pointers can't wrap on the same call by not testing the rear rear pointers can't wrap on the same call by not testing the rear
pointer if the front one has wrapped. Returns a 31-bit random number. */ pointer if the front one has wrapped. Returns a 31-bit random number. */
int32_t long int
__random () __random ()
{ {
int32_t retval; int32_t retval;

View File

@ -395,7 +395,7 @@ extern long int a64l (__const char *__s) __THROW __attribute_pure__;
The `rand' and `srand' functions are required by the ANSI standard. The `rand' and `srand' functions are required by the ANSI standard.
We provide both interfaces to the same random number generator. */ We provide both interfaces to the same random number generator. */
/* Return a random long integer between 0 and RAND_MAX inclusive. */ /* Return a random long integer between 0 and RAND_MAX inclusive. */
extern int32_t random (void) __THROW; extern long int random (void) __THROW;
/* Seed the random number generator with the given number. */ /* Seed the random number generator with the given number. */
extern void srandom (unsigned int __seed) __THROW; extern void srandom (unsigned int __seed) __THROW;
@ -554,7 +554,7 @@ extern void *valloc (size_t __size) __THROW __attribute_malloc__;
#ifdef __USE_XOPEN2K #ifdef __USE_XOPEN2K
/* Allocate memory of SIZE bytes with an alignment of ALIGNMENT. */ /* Allocate memory of SIZE bytes with an alignment of ALIGNMENT. */
extern int posix_memalign (void **memptr, size_t alignment, size_t size) extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
__THROW __attribute_malloc__; __THROW __attribute_malloc__;
#endif #endif
@ -600,14 +600,14 @@ extern char *__secure_getenv (__const char *__name) __THROW;
extern int putenv (char *__string) __THROW; extern int putenv (char *__string) __THROW;
#endif #endif
#ifdef __USE_BSD #if defined __USE_BSD || defined __USE_XOPEN2K
/* Set NAME to VALUE in the environment. /* Set NAME to VALUE in the environment.
If REPLACE is nonzero, overwrite an existing value. */ If REPLACE is nonzero, overwrite an existing value. */
extern int setenv (__const char *__name, __const char *__value, int __replace) extern int setenv (__const char *__name, __const char *__value, int __replace)
__THROW; __THROW;
/* Remove the variable NAME from the environment. */ /* Remove the variable NAME from the environment. */
extern void unsetenv (__const char *__name) __THROW; extern int unsetenv (__const char *__name) __THROW;
#endif #endif
#ifdef __USE_MISC #ifdef __USE_MISC
@ -742,6 +742,8 @@ extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
be written to BUF. */ be written to BUF. */
extern char *gcvt (double __value, int __ndigit, char *__buf) __THROW; extern char *gcvt (double __value, int __ndigit, char *__buf) __THROW;
# ifdef __USE_MISC
/* Long double versions of above functions. */ /* Long double versions of above functions. */
extern char *qecvt (long double __value, int __ndigit, extern char *qecvt (long double __value, int __ndigit,
int *__restrict __decpt, int *__restrict __sign) __THROW; int *__restrict __decpt, int *__restrict __sign) __THROW;
@ -750,7 +752,6 @@ extern char *qfcvt (long double __value, int __ndigit,
extern char *qgcvt (long double __value, int __ndigit, char *__buf) __THROW; extern char *qgcvt (long double __value, int __ndigit, char *__buf) __THROW;
# ifdef __USE_MISC
/* Reentrant version of the functions above which provide their own /* Reentrant version of the functions above which provide their own
buffers. */ buffers. */
extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1992, 95, 96, 97, 98, 99, 2000 Free Software Foundation, Inc. /* Copyright (C) 1992,95,96,97,98,99,2000,2001 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
@ -263,13 +263,21 @@ setenv (name, value, replace)
return __add_to_environ (name, value, NULL, replace); return __add_to_environ (name, value, NULL, replace);
} }
void int
unsetenv (name) unsetenv (name)
const char *name; const char *name;
{ {
const size_t len = strlen (name); const size_t len;
char **ep; char **ep;
if (name == NULL || *name == '\0' || strchr (name, '=') != NULL)
{
__set_errno (EINVAL);
return -1;
}
len = strlen (name);
LOCK; LOCK;
ep = __environ; ep = __environ;
@ -288,6 +296,8 @@ unsetenv (name)
++ep; ++ep;
UNLOCK; UNLOCK;
return 0;
} }
/* The `clearenv' was planned to be added to POSIX.1 but probably /* The `clearenv' was planned to be added to POSIX.1 but probably