From: Lennart Poettering Date: Thu, 17 Jan 2013 23:51:46 +0000 (+0100) Subject: systemctl: we can make this faster and shorten it a bit with strv_extend() X-Git-Tag: v198~489 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=540e7dbe9edeb7a309a89c51f22d27e3a7cd6390;hp=82dde599ed2b8aa4877900d84e7a2ddc31ef8da2 systemctl: we can make this faster and shorten it a bit with strv_extend() Now that strv_extend() is not so slow anymore, we can make use of it, to shorten our code a bit. --- diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index 356854353..852c4d1a8 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -760,7 +760,6 @@ static int list_dependencies_get_dependencies(DBusConnection *bus, const char *n int r = 0; char **ret = NULL; - char **c; assert(bus); assert(name); @@ -834,13 +833,13 @@ static int list_dependencies_get_dependencies(DBusConnection *bus, const char *n assert(dbus_message_iter_get_arg_type(&sub4) == DBUS_TYPE_STRING); dbus_message_iter_get_basic(&sub4, &s); - c = strv_append(ret, s); - if (c == NULL) { - r = log_oom(); + + r = strv_extend(&ret, s); + if (r < 0) { + log_oom(); goto finish; } - strv_free(ret); - ret = c; + dbus_message_iter_next(&sub4); } }