From: David Herrmann Date: Tue, 7 Apr 2015 13:20:54 +0000 (+0200) Subject: bus: use free_and_strdup() X-Git-Tag: v226.4~1^2~512 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=443f3cffeef13c6ca71f79822f0918600bc6187d;hp=aa70affbcd1849cc5a36b1387846752cec6eec1c bus: use free_and_strdup() Save some LOCs by replacing strdup()+error-handling+free+assign with free_and_strdup(). --- diff --git a/src/libelogind/sd-bus/bus-util.c b/src/libelogind/sd-bus/bus-util.c index 4bc16aa90..78ef289eb 100644 --- a/src/libelogind/sd-bus/bus-util.c +++ b/src/libelogind/sd-bus/bus-util.c @@ -958,7 +958,6 @@ static int map_basic(sd_bus *bus, const char *member, sd_bus_message *m, sd_bus_ switch (type) { case SD_BUS_TYPE_STRING: { const char *s; - char *str; char **p = userdata; r = sd_bus_message_read_basic(m, type, &s); @@ -968,14 +967,7 @@ static int map_basic(sd_bus *bus, const char *member, sd_bus_message *m, sd_bus_ if (isempty(s)) break; - str = strdup(s); - if (!str) { - r = -ENOMEM; - break; - } - free(*p); - *p = str; - + r = free_and_strdup(p, s); break; }