blob: b9d34af6136746358f496cb407fe195965388ba4 [file] [log] [blame]
Junio C Hamano85023572006-12-19 14:34:12 -08001#include "../git-compat-util.h"
Jason Riedy731043f2006-01-25 12:38:36 -08002
Junio C Hamanoa38989b2021-10-29 14:42:12 -07003int gitunsetenv(const char *name)
Jason Riedy731043f2006-01-25 12:38:36 -08004{
Benoit Sigouref1e2a482013-07-21 12:54:08 -07005#if !defined(__MINGW32__)
6 extern char **environ;
7#endif
Jason Riedy731043f2006-01-25 12:38:36 -08008 int src, dst;
9 size_t nmln;
10
11 nmln = strlen(name);
12
13 for (src = dst = 0; environ[src]; ++src) {
14 size_t enln;
15 enln = strlen(environ[src]);
16 if (enln > nmln) {
17 /* might match, and can test for '=' safely */
18 if (0 == strncmp (environ[src], name, nmln)
19 && '=' == environ[src][nmln])
20 /* matches, so skip */
21 continue;
22 }
23 environ[dst] = environ[src];
24 ++dst;
25 }
26 environ[dst] = NULL;
Junio C Hamanoa38989b2021-10-29 14:42:12 -070027
28 return 0;
Jason Riedy731043f2006-01-25 12:38:36 -080029}