summaryrefslogtreecommitdiff
path: root/source3/lib/replace/replace.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2007-04-15 20:12:09 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:19:21 -0500
commit2f1aafa2a7e36298cc1e0e593b30fac1ab278596 (patch)
tree80803c500daca5d859afeea4917f859a71d577a5 /source3/lib/replace/replace.c
parent3e819bd22c199f9cdf68c0f6258b4be17674a129 (diff)
downloadsamba-2f1aafa2a7e36298cc1e0e593b30fac1ab278596.tar.gz
samba-2f1aafa2a7e36298cc1e0e593b30fac1ab278596.tar.bz2
samba-2f1aafa2a7e36298cc1e0e593b30fac1ab278596.zip
r22221: merge from samba4:
- libreplace unsetenv() and strptime() replacements metze (This used to be commit 057c1c04d09b48c713ebc0b334cabcefc02561e9)
Diffstat (limited to 'source3/lib/replace/replace.c')
-rw-r--r--source3/lib/replace/replace.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/source3/lib/replace/replace.c b/source3/lib/replace/replace.c
index 8310d66d9e..db299130e5 100644
--- a/source3/lib/replace/replace.c
+++ b/source3/lib/replace/replace.c
@@ -563,6 +563,32 @@ int rep_setenv(const char *name, const char *value, int overwrite)
}
#endif
+#ifndef HAVE_UNSETENV
+int rep_unsetenv(const char *name)
+{
+ extern char **environ;
+ size_t len = strlen(name);
+ size_t i;
+ int found = 0;
+
+ for (i=0; (environ && environ[i]); i++) {
+ if (found) {
+ environ[i-1] = environ[i];
+ continue;
+ }
+
+ if (strncmp(environ[i], name, len) == 0 && environ[i][len] == '=') {
+ free(environ[i]);
+ environ[i] = NULL;
+ found = 1;
+ continue;
+ }
+ }
+
+ return 0;
+}
+#endif
+
#ifndef HAVE_SOCKETPAIR
int rep_socketpair(int d, int type, int protocol, int sv[2])
{