From: David Herrmann Date: Wed, 8 Apr 2015 09:20:10 +0000 (+0200) Subject: bus: simplify bus_message_read_strv_extend() X-Git-Tag: v226.4~1^2~505 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=e5bb612acc3018bcbe86ceee7975baaab8380191 bus: simplify bus_message_read_strv_extend() Avoid unbound for(;;) loop and use the established coding-style: while ((r = sd_bus_message_read*(...)) > 0) { } if (r < 0) return r; This is much easier to read and used all over the code base. --- diff --git a/src/libelogind/sd-bus/bus-message.c b/src/libelogind/sd-bus/bus-message.c index 70c38cf48..6ee209dd1 100644 --- a/src/libelogind/sd-bus/bus-message.c +++ b/src/libelogind/sd-bus/bus-message.c @@ -5550,6 +5550,7 @@ int bus_message_get_blob(sd_bus_message *m, void **buffer, size_t *sz) { } int bus_message_read_strv_extend(sd_bus_message *m, char ***l) { + const char *s; int r; assert(m); @@ -5559,19 +5560,13 @@ int bus_message_read_strv_extend(sd_bus_message *m, char ***l) { if (r <= 0) return r; - for (;;) { - const char *s; - - r = sd_bus_message_read_basic(m, 's', &s); - if (r < 0) - return r; - if (r == 0) - break; - + while ((r = sd_bus_message_read_basic(m, 's', &s)) > 0) { r = strv_extend(l, s); if (r < 0) return r; } + if (r < 0) + return r; r = sd_bus_message_exit_container(m); if (r < 0)