about summary refs log tree commit diff
path: root/third_party/git/compat/setenv.c
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/compat/setenv.c')
-rw-r--r--third_party/git/compat/setenv.c40
1 files changed, 0 insertions, 40 deletions
diff --git a/third_party/git/compat/setenv.c b/third_party/git/compat/setenv.c
deleted file mode 100644
index 7849f258d2..0000000000
--- a/third_party/git/compat/setenv.c
+++ /dev/null
@@ -1,40 +0,0 @@
-#include "../git-compat-util.h"
-
-int gitsetenv(const char *name, const char *value, int replace)
-{
-	int out;
-	size_t namelen, valuelen;
-	char *envstr;
-
-	if (!name || strchr(name, '=') || !value) {
-		errno = EINVAL;
-		return -1;
-	}
-	if (!replace) {
-		char *oldval = NULL;
-		oldval = getenv(name);
-		if (oldval) return 0;
-	}
-
-	namelen = strlen(name);
-	valuelen = strlen(value);
-	envstr = malloc(st_add3(namelen, valuelen, 2));
-	if (!envstr) {
-		errno = ENOMEM;
-		return -1;
-	}
-
-	memcpy(envstr, name, namelen);
-	envstr[namelen] = '=';
-	memcpy(envstr + namelen + 1, value, valuelen);
-	envstr[namelen + valuelen + 1] = 0;
-
-	out = putenv(envstr);
-	/* putenv(3) makes the argument string part of the environment,
-	 * and changing that string modifies the environment --- which
-	 * means we do not own that storage anymore.  Do not free
-	 * envstr.
-	 */
-
-	return out;
-}