2006-12-20 06:34:12 +08:00
|
|
|
#include "../git-compat-util.h"
|
2006-01-26 04:38:36 +08:00
|
|
|
|
2021-10-30 05:42:12 +08:00
|
|
|
int gitunsetenv(const char *name)
|
2006-01-26 04:38:36 +08:00
|
|
|
{
|
2013-07-22 03:54:08 +08:00
|
|
|
#if !defined(__MINGW32__)
|
|
|
|
extern char **environ;
|
|
|
|
#endif
|
2006-01-26 04:38:36 +08:00
|
|
|
int src, dst;
|
|
|
|
size_t nmln;
|
|
|
|
|
|
|
|
nmln = strlen(name);
|
|
|
|
|
|
|
|
for (src = dst = 0; environ[src]; ++src) {
|
|
|
|
size_t enln;
|
|
|
|
enln = strlen(environ[src]);
|
|
|
|
if (enln > nmln) {
|
|
|
|
/* might match, and can test for '=' safely */
|
|
|
|
if (0 == strncmp (environ[src], name, nmln)
|
|
|
|
&& '=' == environ[src][nmln])
|
|
|
|
/* matches, so skip */
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
environ[dst] = environ[src];
|
|
|
|
++dst;
|
|
|
|
}
|
|
|
|
environ[dst] = NULL;
|
2021-10-30 05:42:12 +08:00
|
|
|
|
|
|
|
return 0;
|
2006-01-26 04:38:36 +08:00
|
|
|
}
|