From 130d3d22e97114fc0b9c685aa8db437454a10635 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Thu, 10 May 2018 00:34:46 +0900 Subject: [PATCH] tree-wide: use strv_free_and_replace() macro --- src/core/dbus-execute.c | 8 ++---- src/core/execute.c | 13 +++------ src/core/locale-setup.c | 3 +-- src/hostname/hostnamed.c | 3 +-- src/libsystemd-network/sd-dhcp6-lease.c | 6 ++--- src/libsystemd/sd-bus/sd-bus.c | 5 +--- src/locale/keymap-util.c | 9 +++---- src/nspawn/nspawn.c | 36 +++++++------------------ src/shared/bus-util.c | 4 +-- 9 files changed, 24 insertions(+), 63 deletions(-) diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c index e36a050bdd..9d302b0a11 100644 --- a/src/core/dbus-execute.c +++ b/src/core/dbus-execute.c @@ -2023,9 +2023,7 @@ int bus_exec_context_set_transient_property( if (!e) return -ENOMEM; - strv_free(c->environment); - c->environment = e; - + strv_free_and_replace(c->environment, e); unit_write_settingf(u, flags, name, "Environment=%s", joined); } } @@ -2059,9 +2057,7 @@ int bus_exec_context_set_transient_property( if (!e) return -ENOMEM; - strv_free(c->unset_environment); - c->unset_environment = e; - + strv_free_and_replace(c->unset_environment, e); unit_write_settingf(u, flags, name, "UnsetEnvironment=%s", joined); } } diff --git a/src/core/execute.c b/src/core/execute.c index 11bf176f6b..ecc7e8821a 100644 --- a/src/core/execute.c +++ b/src/core/execute.c @@ -1287,10 +1287,7 @@ static int setup_pam( if (!barrier_place_and_sync(&barrier)) log_error("PAM initialization failed"); - strv_free(*env); - *env = e; - - return 0; + return strv_free_and_replace(*env, e); fail: if (pam_code != PAM_SUCCESS) { @@ -3379,8 +3376,7 @@ static int exec_child( return log_oom(); } - strv_free(accum_env); - accum_env = ee; + strv_free_and_replace(accum_env, ee); } final_argv = replace_env_argv(argv, accum_env); @@ -4492,10 +4488,7 @@ int exec_command_set(ExecCommand *c, const char *path, ...) { free(c->path); c->path = p; - strv_free(c->argv); - c->argv = l; - - return 0; + return strv_free_and_replace(c->argv, l); } int exec_command_append(ExecCommand *c, const char *path, ...) { diff --git a/src/core/locale-setup.c b/src/core/locale-setup.c index 42acb63293..705dd95de1 100644 --- a/src/core/locale-setup.c +++ b/src/core/locale-setup.c @@ -97,8 +97,7 @@ int locale_setup(char ***environment) { goto finish; } - strv_free(*environment); - *environment = e; + strv_free_and_replace(*environment, e); } r = 0; diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c index d9ad2fb2fe..f3deece5b0 100644 --- a/src/hostname/hostnamed.c +++ b/src/hostname/hostnamed.c @@ -338,8 +338,7 @@ static int context_write_data_machine_info(Context *c) { if (!u) return -ENOMEM; - strv_free(l); - l = u; + strv_free_and_replace(l, u); } if (strv_isempty(l)) { diff --git a/src/libsystemd-network/sd-dhcp6-lease.c b/src/libsystemd-network/sd-dhcp6-lease.c index 88c0b1fbd2..fc77a788f4 100644 --- a/src/libsystemd-network/sd-dhcp6-lease.c +++ b/src/libsystemd-network/sd-dhcp6-lease.c @@ -248,8 +248,7 @@ int dhcp6_lease_set_domains(sd_dhcp6_lease *lease, uint8_t *optval, if (r < 0) return 0; - strv_free(lease->domains); - lease->domains = domains; + strv_free_and_replace(lease->domains, domains); lease->domains_count = r; return r; @@ -308,8 +307,7 @@ int dhcp6_lease_set_ntp(sd_dhcp6_lease *lease, uint8_t *optval, size_t optlen) { if (r < 0) return 0; - lease->ntp_fqdn = strv_free(lease->ntp_fqdn); - lease->ntp_fqdn = servers; + strv_free_and_replace(lease->ntp_fqdn, servers); lease->ntp_fqdn_count = r; break; diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c index b77fdb98bb..dee1c87757 100644 --- a/src/libsystemd/sd-bus/sd-bus.c +++ b/src/libsystemd/sd-bus/sd-bus.c @@ -310,10 +310,7 @@ _public_ int sd_bus_set_exec(sd_bus *bus, const char *path, char *const argv[]) return -ENOMEM; free_and_replace(bus->exec_path, p); - - strv_free(bus->exec_argv); - bus->exec_argv = a; - + strv_free_and_replace(bus->exec_argv, a); return 0; } diff --git a/src/locale/keymap-util.c b/src/locale/keymap-util.c index 5e38061f51..09bd449925 100644 --- a/src/locale/keymap-util.c +++ b/src/locale/keymap-util.c @@ -250,8 +250,7 @@ int locale_write_data(Context *c, char ***settings) { if (!u) return -ENOMEM; - strv_free(l); - l = u; + strv_free_and_replace(l, u); } if (strv_isempty(l)) { @@ -291,8 +290,7 @@ int vconsole_write_data(Context *c) { if (!u) return -ENOMEM; - strv_free(l); - l = u; + strv_free_and_replace(l, u); } if (isempty(c->vc_keymap_toggle)) @@ -309,8 +307,7 @@ int vconsole_write_data(Context *c) { if (!u) return -ENOMEM; - strv_free(l); - l = u; + strv_free_and_replace(l, u); } if (strv_isempty(l)) { diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c index d7ceb4ed44..12eaa6c0d7 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c @@ -818,9 +818,7 @@ static int parse_argv(int argc, char *argv[]) { if (!n) return log_oom(); - strv_free(arg_setenv); - arg_setenv = n; - + strv_free_and_replace(arg_setenv, n); arg_settings_mask |= SETTING_ENVIRONMENT; break; } @@ -3120,9 +3118,7 @@ static int load_settings(void) { if ((arg_settings_mask & SETTING_START_MODE) == 0 && settings->start_mode >= 0) { arg_start_mode = settings->start_mode; - - strv_free(arg_parameters); - arg_parameters = TAKE_PTR(settings->parameters); + strv_free_and_replace(arg_parameters, settings->parameters); } if ((arg_settings_mask & SETTING_PIVOT_ROOT) == 0 && @@ -3136,10 +3132,8 @@ static int load_settings(void) { free_and_replace(arg_chdir, settings->working_directory); if ((arg_settings_mask & SETTING_ENVIRONMENT) == 0 && - settings->environment) { - strv_free(arg_setenv); - arg_setenv = TAKE_PTR(settings->environment); - } + settings->environment) + strv_free_and_replace(arg_setenv, settings->environment); if ((arg_settings_mask & SETTING_USER) == 0 && settings->user) @@ -3215,17 +3209,10 @@ static int load_settings(void) { arg_network_veth = settings_network_veth(settings); arg_private_network = settings_private_network(settings); - strv_free(arg_network_interfaces); - arg_network_interfaces = TAKE_PTR(settings->network_interfaces); - - strv_free(arg_network_macvlan); - arg_network_macvlan = TAKE_PTR(settings->network_macvlan); - - strv_free(arg_network_ipvlan); - arg_network_ipvlan = TAKE_PTR(settings->network_ipvlan); - - strv_free(arg_network_veth_extra); - arg_network_veth_extra = TAKE_PTR(settings->network_veth_extra); + strv_free_and_replace(arg_network_interfaces, settings->network_interfaces); + strv_free_and_replace(arg_network_macvlan, settings->network_macvlan); + strv_free_and_replace(arg_network_ipvlan, settings->network_ipvlan); + strv_free_and_replace(arg_network_veth_extra, settings->network_veth_extra); free_and_replace(arg_network_bridge, settings->network_bridge); free_and_replace(arg_network_zone, settings->network_zone); @@ -3264,11 +3251,8 @@ static int load_settings(void) { if (!arg_settings_trusted && !strv_isempty(arg_syscall_whitelist)) log_warning("Ignoring SystemCallFilter= settings, file %s is not trusted.", p); else { - strv_free(arg_syscall_whitelist); - strv_free(arg_syscall_blacklist); - - arg_syscall_whitelist = TAKE_PTR(settings->syscall_whitelist); - arg_syscall_blacklist = TAKE_PTR(settings->syscall_blacklist); + strv_free_and_replace(arg_syscall_whitelist, settings->syscall_whitelist); + strv_free_and_replace(arg_syscall_blacklist, settings->syscall_blacklist); } } diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c index af18a674c1..66724d0e78 100644 --- a/src/shared/bus-util.c +++ b/src/shared/bus-util.c @@ -1078,9 +1078,7 @@ static int map_basic(sd_bus *bus, const char *member, sd_bus_message *m, unsigne if (r < 0) return r; - strv_free(*p); - *p = TAKE_PTR(l); - return 0; + return strv_free_and_replace(*p, l); } case SD_BUS_TYPE_BOOLEAN: {