basic: fix strv_env_get_n for unclean arrays
If an environment array has duplicates, strv_env_get_n returns the results for the first match. This is wrong, because later entries in the environment are supposed to replace earlier entries.
This commit is contained in:
committed by
Zbigniew Jędrzejewski-Szmek
parent
1bd2d4e31b
commit
6162512cde
@@ -462,7 +462,7 @@ char *strv_env_get_n(char **l, const char *name, size_t k) {
|
||||
if (k <= 0)
|
||||
return NULL;
|
||||
|
||||
STRV_FOREACH(i, l)
|
||||
STRV_FOREACH_BACKWARDS(i, l)
|
||||
if (strneq(*i, name, k) &&
|
||||
(*i)[k] == '=')
|
||||
return *i + k + 1;
|
||||
|
||||
Reference in New Issue
Block a user