From: Lennart Poettering Date: Fri, 22 Mar 2019 19:07:26 +0000 (+0100) Subject: systemctl: use structured initialization X-Git-Tag: v242-rc1~69^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3bfa8668b0ebc8d2154a23a4d1e2ef5749a6c1e6;p=thirdparty%2Fsystemd.git systemctl: use structured initialization --- diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index c5bb1f127a8..bca05d461eb 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -4630,21 +4630,23 @@ static int map_conditions(sd_bus *bus, const char *member, sd_bus_message *m, sd while ((r = sd_bus_message_read(m, "(sbbsi)", &cond, &trigger, &negate, ¶m, &state)) > 0) { _cleanup_(unit_condition_freep) UnitCondition *c = NULL; - c = new0(UnitCondition, 1); + c = new(UnitCondition, 1); if (!c) return -ENOMEM; - c->name = strdup(cond); - c->param = strdup(param); + *c = (UnitCondition) { + .name = strdup(cond), + .param = strdup(param), + .trigger = trigger, + .negate = negate, + .tristate = state, + }; + if (!c->name || !c->param) return -ENOMEM; - c->trigger = trigger; - c->negate = negate; - c->tristate = state; - LIST_PREPEND(conditions, i->conditions, c); - c = NULL; + LIST_PREPEND(conditions, i->conditions, TAKE_PTR(c)); } if (r < 0) return r;