mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-02-18 23:12:15 +08:00
* include/cygwin/stdlib.h: New file.
* environ.cc (unsetenv): Change to return -1 on input error. * include/cygwin/version.h: Add more description to latest api bump.
This commit is contained in:
parent
b1da33a0b0
commit
e5a0cf2415
@ -1,3 +1,9 @@
|
||||
2005-12-05 Christopher Faylor <cgf@timesys.com>
|
||||
|
||||
* include/cygwin/stdlib.h: New file.
|
||||
* environ.cc (unsetenv): Change to return -1 on input error.
|
||||
* include/cygwin/version.h: Add more description to latest api bump.
|
||||
|
||||
2005-12-05 Christopher Faylor <cgf@timesys.com>
|
||||
|
||||
* dir.cc (readdir_workdir): Only fill out d_ino when linked into older
|
||||
|
@ -362,17 +362,25 @@ setenv (const char *name, const char *value, int overwrite)
|
||||
}
|
||||
|
||||
/* unsetenv(name) -- Delete environment variable "name". */
|
||||
extern "C" void
|
||||
extern "C" int
|
||||
unsetenv (const char *name)
|
||||
{
|
||||
register char **e;
|
||||
int offset;
|
||||
myfault efault;
|
||||
if (efault.faulted () || *name == '\0' || strchr (name, '='))
|
||||
{
|
||||
set_errno (EINVAL);
|
||||
return -1;
|
||||
}
|
||||
|
||||
while (my_findenv (name, &offset)) /* if set multiple times */
|
||||
/* Move up the rest of the array */
|
||||
for (e = cur_environ () + offset; ; e++)
|
||||
if (!(*e = *(e + 1)))
|
||||
break;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Turn environment variable part of a=b string into uppercase. */
|
||||
|
61
winsup/cygwin/include/cygwin/stdlib.h
Normal file
61
winsup/cygwin/include/cygwin/stdlib.h
Normal file
@ -0,0 +1,61 @@
|
||||
/* stdlib.h
|
||||
|
||||
Copyright 2005 Red Hat Inc.
|
||||
|
||||
This file is part of Cygwin.
|
||||
|
||||
This software is a copyrighted work licensed under the terms of the
|
||||
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
|
||||
details. */
|
||||
|
||||
#ifndef _CYGWIN_STDLIB_H
|
||||
#define _CYGWIN_STDLIB_H
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
const char *getprogname (void);
|
||||
void setprogname (const char *);
|
||||
|
||||
#ifndef __STRICT_ANSI__
|
||||
char *realpath (const char *, char *);
|
||||
int unsetenv (const char *);
|
||||
int random (void);
|
||||
long srandom (unsigned);
|
||||
char *ptsname (int);
|
||||
int grantpt (int);
|
||||
int unlockpt (int);
|
||||
#endif /*__STRICT_ANSI__*/
|
||||
|
||||
#undef _malloc_r
|
||||
#define _malloc_r(r, s) malloc (s)
|
||||
#undef _free_r
|
||||
#define _free_r(r, p) free (p)
|
||||
#undef _realloc_r
|
||||
#define _realloc_r(r, p, s) realloc (p, s)
|
||||
#undef _calloc_r
|
||||
#define _calloc_r(r, s1, s2) calloc (s1, s2);
|
||||
#undef _memalign_r
|
||||
#define _memalign_r(r, s1, s2) memalign (s1, s2);
|
||||
#undef _mallinfo_r
|
||||
#define _mallinfo_r(r) mallinfo ()
|
||||
#undef _malloc_stats_r
|
||||
#define _malloc_stats_r(r) malloc_stats ()
|
||||
#undef _mallopt_r
|
||||
#define _mallopt_r(i1, i2) mallopt (i1, i2)
|
||||
#undef _malloc_usable_size_r
|
||||
#define _malloc_usable_size_r(r, p) malloc_usable_size (p)
|
||||
#undef _valloc_r
|
||||
#define _valloc_r(r, s) valloc (s)
|
||||
#undef _pvalloc_r
|
||||
#define _pvalloc_r(r, s) pvalloc (s)
|
||||
#undef _malloc_trim_r
|
||||
#define _malloc_trim_r(r, s) malloc_trim (s)
|
||||
#undef _mstats_r
|
||||
#define _mstats_r(r, p) mstats (p)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /*_CYGWIN_STDLIB_H*/
|
@ -280,7 +280,8 @@ details. */
|
||||
145: Add MAP_NORESERVE flag to mmap.
|
||||
146: Change SI_USER definition. FIXME: Need to develop compatibility macro
|
||||
for this?
|
||||
147: Eliminate problematic d_ino from dirent structure.
|
||||
147: Eliminate problematic d_ino from dirent structure. unsetenv now returns
|
||||
int, as per linux.
|
||||
*/
|
||||
|
||||
/* Note that we forgot to bump the api for ualarm, strtoll, strtoull */
|
||||
|
Loading…
x
Reference in New Issue
Block a user