about summary refs log tree commit diff
path: root/include
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 /include
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 'include')
-rw-r--r--include/stdlib.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/stdlib.h b/include/stdlib.h
index c15d364c6e..187c4585d8 100644
--- a/include/stdlib.h
+++ b/include/stdlib.h
@@ -46,6 +46,9 @@ extern char *__canonicalize_file_name __P ((__const char *__name));
 extern char *__realpath __P ((__const char *__name, char *__resolved));
 extern int __ptsname_r __P ((int __fd, char *__buf, size_t __buflen));
 extern int __getpt __P ((void));
+
+extern int __add_to_environ (const char *name, const char *value,
+			     const char *combines, int replace);
 #endif
 #undef __Need_M_And_C