about summary refs log tree commit diff
path: root/sysdeps/generic/setenv.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-05-20 10:50:03 +0000
committerUlrich Drepper <drepper@redhat.com>1998-05-20 10:50:03 +0000
commita709dd439a010a88e6e8ae94583e71296008b89e (patch)
treea0c3fe9835f3a05c1ed61ba01d98ee90bbe858f5 /sysdeps/generic/setenv.c
parentb0a01055eb0ff324fd5e2b44fa9687035e5f3204 (diff)
downloadglibc-a709dd439a010a88e6e8ae94583e71296008b89e.tar.gz
glibc-a709dd439a010a88e6e8ae94583e71296008b89e.tar.xz
glibc-a709dd439a010a88e6e8ae94583e71296008b89e.zip
Update.
1998-05-20  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* Makeconfig (rpath-link): Add resolvobjdir.
	(resolvobjdir): New variable.
	Reported by Peter Breitenlohner <peb@mppmu.mpg.de> [fixes PR libc/633].

1998-05-20 09:36  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-close.c: Call shared object terminators at the right time.
	Patch by Philippe Troin <phil@fifi.org>.

1998-05-20  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Make-dist (+tsrcs): Also add *.map for every member of
	$(extra-libs).

	* Makefile (distribute): Don't distribute scripts/printsources and
	scripts/=__ify.  Distribute FAQ.in.
	(rpm/%): Don't pass subdirs to sub-make.

	* timezone/Makefile: Protect inclusion of z.* by $(avoid-generated)
	instead of $(no_deps).

1998-05-19  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/generic/setenv.c: Protect against GNU C extension.
	(KNOWN_VALUE, STORE_VALUE): Do it right.
	(setenv): Remove unused variable.

1998-05-18  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* timezone/Makefile (tz-cflags): Define TM_GMTOFF and TM_ZONE.
	(CFLAGS-zdump.c): Add $(tz-cflags).

	* timezone/zdump.c (abbr): Use TM_ZONE if defined.  Add const to
	return type.

1998-05-18  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* time/tzfile.c (__tzfile_compute): Undo last change.  Instead
	take struct tm parameter and set tm_isdst, tm_zone and tm_offset
	if use_localtime.
	* time/tzset.c: Update prototype of __tzfile_compute.
	(__tz_convert): Pass tp to __tzfile_compute.  Don't set tm_isdst,
	tm_zone and tm_offset here if __use_tzfile.

1998-05-19  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makerules: Install libc.a even if there are no object file.

1998-05-18  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makerules (do-makelib): Don't force creating library from
	scratch, to avoid wasting time and space and to get correct
	behaviour if $(subdirs) is incomplete.

1998-05-19  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makerules (do-stamp): Make it work when building in source
	directory.
Diffstat (limited to 'sysdeps/generic/setenv.c')
-rw-r--r--sysdeps/generic/setenv.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/sysdeps/generic/setenv.c b/sysdeps/generic/setenv.c
index 22ea7e551f..b2ebbadfaa 100644
--- a/sysdeps/generic/setenv.c
+++ b/sysdeps/generic/setenv.c
@@ -69,7 +69,8 @@ __libc_lock_define_initialized (static, envlock)
    allow arbitrary many changes of the environment given that the used
    values are from a small set.  Outside glibc this will eat up all
    memory after a while.  */
-#if defined _LIBC || (defined HAVE_SEARCH_H && defined HAVE_TSEARCH)
+#if defined _LIBC || (defined HAVE_SEARCH_H && defined HAVE_TSEARCH \
+		      && defined __GNUC__)
 # define USE_TSEARCH	1
 # include <search.h>
 
@@ -79,18 +80,11 @@ static void *known_values;
 
 # define KNOWN_VALUE(Str) \
   ({									      \
-    void **value = tfind (Str, &known_values, (__compar_fn_t) strcmp);	      \
-    if (value != NULL)							      \
-      value = *(const char **) value;					      \
-    value;								      \
+    void *value = tfind (Str, &known_values, (__compar_fn_t) strcmp);	      \
+    value != NULL ? *(char **) value : NULL;				      \
   })
 # define STORE_VALUE(Str) \
-  ({									      \
-    void **value = tsearch (Str, &known_values, (__compar_fn_t) strcmp);      \
-    if (value != NULL)							      \
-      value = *(const char **) value;					      \
-    value;								      \
-  })
+  tsearch (Str, &known_values, (__compar_fn_t) strcmp)
 
 #else
 # undef USE_TSEARCH
@@ -186,7 +180,6 @@ setenv (name, value, replace)
     }
   else if (replace)
     {
-      size_t len = strlen (*ep);
       char *new_value;
       char *np;