mirror of
https://github.com/git/git.git
synced 2024-11-18 19:03:52 +01:00
f1e2a48d18
This reverts commit ec535cc27e6c4f5e0b1d157e04f5511f166ecd9d. POSIX explicitly states "the [environ] variable, which must be declared by the user if it is to be used directly". Not declaring it causes compilation to fail on OS X. Instead don't declare the variable on MinGW, as it causes a spurious warning there. Signed-off-by: Benoit Sigoure <tsunanet@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
28 lines
591 B
C
28 lines
591 B
C
#include "../git-compat-util.h"
|
|
|
|
void gitunsetenv (const char *name)
|
|
{
|
|
#if !defined(__MINGW32__)
|
|
extern char **environ;
|
|
#endif
|
|
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;
|
|
}
|