ec535cc27e
The gitunsetenv function includes an (redundant) declaration of the 'environ' symbol, which is a pointer to the table of environment variables. Unfortunately, on MinGW, this provokes sparse to issue the following warning: compat/unsetenv.c:5:20: warning: non-ANSI function declaration of \ function '__p__environ' On MinGW, the <stdlib.h> header defines the 'environ' symbol as a preprocessor macro (via _environ) which obtains the environ table pointer via a call to the __p__environ() function. In order to suppress the warning, we simply remove the redundant declaration of the 'environ' symbol, since the symbol is already declared correctly in <stdlib.h> (included via git-compat-util.h). Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
25 lines
530 B
C
25 lines
530 B
C
#include "../git-compat-util.h"
|
|
|
|
void gitunsetenv (const char *name)
|
|
{
|
|
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;
|
|
}
|