env-util: drop _pure_ for strv_env_get_n
This function calls getenv() internally, making it non-pure, as envvars can change between two calls even if passed arguments are the same.
This commit is contained in:
@@ -529,7 +529,7 @@ int _strv_env_assign_many(char ***l, ...) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
char* strv_env_get_n(char **l, const char *name, size_t k, ReplaceEnvFlags flags) {
|
||||
char* strv_env_get_n(char * const *l, const char *name, size_t k, ReplaceEnvFlags flags) {
|
||||
assert(name);
|
||||
|
||||
if (k == SIZE_MAX)
|
||||
@@ -539,7 +539,7 @@ char* strv_env_get_n(char **l, const char *name, size_t k, ReplaceEnvFlags flags
|
||||
|
||||
STRV_FOREACH_BACKWARDS(i, l)
|
||||
if (strneq(*i, name, k) && (*i)[k] == '=')
|
||||
return *i + k + 1;
|
||||
return (char*) *i + k + 1;
|
||||
|
||||
if (flags & REPLACE_ENV_USE_ENVIRONMENT) {
|
||||
const char *t;
|
||||
|
||||
Reference in New Issue
Block a user