summary refs log tree commit diff
path: root/sysdeps/generic/putenv.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-07-29 20:40:05 +0000
committerUlrich Drepper <drepper@redhat.com>1999-07-29 20:40:05 +0000
commitde4a40d07fd7bed8f57a49a22bf8c110751e80d6 (patch)
treedb8e58d4adfecf1940355709e6a8f115ebbb411d /sysdeps/generic/putenv.c
parenta827898574892dce3e83ed4b08a51927c16445a5 (diff)
downloadglibc-de4a40d07fd7bed8f57a49a22bf8c110751e80d6.tar.gz
glibc-de4a40d07fd7bed8f57a49a22bf8c110751e80d6.tar.xz
glibc-de4a40d07fd7bed8f57a49a22bf8c110751e80d6.zip
Update.
	* sysdeps/generic/setenv.c: Move setenv code in new function
	__add_to_environ.  Add new parameter specifying already
	constructed string for the environment.
	(setenv): Call __add_to_environ with new parameter set to NULL.
	(unsetenv): Really test all elements for duplicated name.  Missed those
	cases where the two are following each other.
	* sysdeps/generic/putenv.c: Use __add_to_environ instead of setenv.
	* include/stdlib.h: Add prototype of __add_to_environ.
	* stdlib/tst-environ.c: New file.
Diffstat (limited to 'sysdeps/generic/putenv.c')
-rw-r--r--sysdeps/generic/putenv.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sysdeps/generic/putenv.c b/sysdeps/generic/putenv.c
index 3fcd5f93a8..75fafad06d 100644
--- a/sysdeps/generic/putenv.c
+++ b/sysdeps/generic/putenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 94, 95, 96, 97, 98 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 94, 95, 96, 97, 98, 99 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -64,7 +64,7 @@ putenv (string)
       memcpy (name, string, name_end - string);
       name[name_end - string] = '\0';
 #endif
-      return __setenv (name, name_end + 1, 1);
+      return __add_to_environ (name, NULL, string, 1);
     }
 
   __unsetenv (string);