mirror of
https://github.com/systemd/systemd.git
synced 2026-08-05 07:30:30 +00:00
env-util: add helper to replace env block
This commit is contained in:
@@ -1074,3 +1074,22 @@ int getenv_steal_erase(const char *name, char **ret) {
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int set_full_environment(char **env) {
|
||||
int r;
|
||||
|
||||
clearenv();
|
||||
|
||||
STRV_FOREACH(e, env) {
|
||||
_cleanup_free_ char *k = NULL, *v = NULL;
|
||||
|
||||
r = split_pair(*e, "=", &k, &v);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
if (setenv(k, v, /* overwrite= */ true) < 0)
|
||||
return -errno;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -77,3 +77,5 @@ int setenv_systemd_exec_pid(bool update_only);
|
||||
int getenv_path_list(const char *name, char ***ret_paths);
|
||||
|
||||
int getenv_steal_erase(const char *name, char **ret);
|
||||
|
||||
int set_full_environment(char **env);
|
||||
|
||||
Reference in New Issue
Block a user