yann@1
|
1 |
2000-05-03 Ulrich Drepper <drepper@redhat.com>
|
yann@1
|
2 |
|
yann@1
|
3 |
* sysdeps/generic/dl-environ.c (unsetenv): Follow change to the
|
yann@1
|
4 |
real unsetenv implementation from 1999-07-29 [PR libc/1714].
|
yann@1
|
5 |
|
yann@1
|
6 |
--- glibc-2.1.3/sysdeps/generic/dl-environ.c.jj Thu Jul 23 16:56:52 1998
|
yann@1
|
7 |
+++ glibc-2.1.3/sysdeps/generic/dl-environ.c Tue May 9 13:48:11 2000
|
yann@1
|
8 |
@@ -1,5 +1,5 @@
|
yann@1
|
9 |
-/*Environment handling for dynamic loader.
|
yann@1
|
10 |
- Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
|
yann@1
|
11 |
+/* Environment handling for dynamic loader.
|
yann@1
|
12 |
+ Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
|
yann@1
|
13 |
This file is part of the GNU C Library.
|
yann@1
|
14 |
|
yann@1
|
15 |
The GNU C Library is free software; you can redistribute it and/or
|
yann@1
|
16 |
@@ -55,7 +55,8 @@ unsetenv (const char *name)
|
yann@1
|
17 |
const size_t len = strlen (name);
|
yann@1
|
18 |
char **ep;
|
yann@1
|
19 |
|
yann@1
|
20 |
- for (ep = _environ; *ep != NULL; ++ep)
|
yann@1
|
21 |
+ ep = _environ;
|
yann@1
|
22 |
+ while (*ep != NULL)
|
yann@1
|
23 |
if (!strncmp (*ep, name, len) && (*ep)[len] == '=')
|
yann@1
|
24 |
{
|
yann@1
|
25 |
/* Found it. Remove this pointer by moving later ones back. */
|
yann@1
|
26 |
@@ -66,4 +67,6 @@ unsetenv (const char *name)
|
yann@1
|
27 |
while (*dp++);
|
yann@1
|
28 |
/* Continue the loop in case NAME appears again. */
|
yann@1
|
29 |
}
|
yann@1
|
30 |
+ else
|
yann@1
|
31 |
+ ++ep;
|
yann@1
|
32 |
}
|