Win32: unify environment case-sensitivity

The environment on Windows is case-insensitive. Some environment functions
(such as unsetenv and make_augmented_environ) have always used case-
sensitive comparisons instead, while others (getenv, putenv, sorting in
spawn*) were case-insensitive.

Prevent potential inconsistencies by using case-insensitive comparison in
lookup_env (used by putenv, unsetenv and make_augmented_environ).

Signed-off-by: Karsten Blees <blees@dcon.de>
Signed-off-by: Stepan Kasal <kasal@ucw.cz>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Karsten Blees 2014-07-17 17:37:58 +02:00 коммит произвёл Junio C Hamano
Родитель e96942e821
Коммит 38d2750126
1 изменённых файлов: 1 добавлений и 2 удалений

Просмотреть файл

@ -1199,8 +1199,7 @@ static int lookup_env(char **env, const char *name, size_t nmln)
int i;
for (i = 0; env[i]; i++) {
if (0 == strncmp(env[i], name, nmln)
&& '=' == env[i][nmln])
if (!strncasecmp(env[i], name, nmln) && '=' == env[i][nmln])
/* matches */
return i;
}