} else if (streq(name, "Environment")) {
- _cleanup_strv_free_ char **l = NULL, **q = NULL;
+ _cleanup_strv_free_ char **l = NULL;
r = sd_bus_message_read_strv(message, &l);
if (r < 0)
return r;
- r = unit_full_printf_strv(u, l, &q);
- if (r < 0)
- return r;
-
- if (!strv_env_is_valid(q))
+ if (!strv_env_is_valid(l))
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid environment block.");
if (mode != UNIT_CHECK) {
- if (strv_length(q) == 0) {
+ if (strv_length(l) == 0) {
c->environment = strv_free(c->environment);
unit_write_drop_in_private_format(u, mode, name, "Environment=");
} else {
_cleanup_free_ char *joined = NULL;
char **e;
- e = strv_env_merge(2, c->environment, q);
+ e = strv_env_merge(2, c->environment, l);
if (!e)
return -ENOMEM;
strv_free(c->environment);
c->environment = e;
- /* We write just the new settings out to file, with unresolved specifiers */
joined = strv_join_quoted(l);
if (!joined)
return -ENOMEM;
} else if (streq(name, "UnsetEnvironment")) {
- _cleanup_strv_free_ char **l = NULL, **q = NULL;
+ _cleanup_strv_free_ char **l = NULL;
r = sd_bus_message_read_strv(message, &l);
if (r < 0)
return r;
- r = unit_full_printf_strv(u, l, &q);
- if (r < 0)
- return r;
-
- if (!strv_env_name_or_assignment_is_valid(q))
+ if (!strv_env_name_or_assignment_is_valid(l))
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid UnsetEnvironment= list.");
if (mode != UNIT_CHECK) {
- if (strv_length(q) == 0) {
+ if (strv_length(l) == 0) {
c->unset_environment = strv_free(c->unset_environment);
unit_write_drop_in_private_format(u, mode, name, "UnsetEnvironment=");
} else {
_cleanup_free_ char *joined = NULL;
char **e;
- e = strv_env_merge(2, c->unset_environment, q);
+ e = strv_env_merge(2, c->unset_environment, l);
if (!e)
return -ENOMEM;
} else if (streq(name, "PassEnvironment")) {
- _cleanup_strv_free_ char **l = NULL, **q = NULL;
+ _cleanup_strv_free_ char **l = NULL;
r = sd_bus_message_read_strv(message, &l);
if (r < 0)
return r;
- r = unit_full_printf_strv(u, l, &q);
- if (r < 0)
- return r;
-
- if (!strv_env_name_is_valid(q))
+ if (!strv_env_name_is_valid(l))
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid PassEnvironment= block.");
if (mode != UNIT_CHECK) {
} else {
_cleanup_free_ char *joined = NULL;
- r = strv_extend_strv(&c->pass_environment, q, true);
- if (r < 0)
- return r;
-
/* We write just the new settings out to file, with unresolved specifiers. */
joined = strv_join_quoted(l);
if (!joined)