[systemd-devel] [PATCH] dbus: return non-zero return value in the case that prefix won't match

Lukas Nykryn lnykryn at redhat.com
Thu Nov 20 07:06:18 PST 2014


strv_extend returns 0 in the case of success which means that
else if (bus_track_deserialize_item(&m->deserialized_subscribed, l) == 0)
        log_warning("Unknown serialization item '%s'", l);
will be printed when value is added correctly.
---
 src/core/dbus.c    | 2 +-
 src/core/manager.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/core/dbus.c b/src/core/dbus.c
index 9cb198a..ec1c0d4 100644
--- a/src/core/dbus.c
+++ b/src/core/dbus.c
@@ -1180,7 +1180,7 @@ int bus_track_deserialize_item(char ***l, const char *line) {
 
         e = startswith(line, "subscribed=");
         if (!e)
-                return 0;
+                return -EINVAL;
 
         return strv_extend(l, e);
 }
diff --git a/src/core/manager.c b/src/core/manager.c
index 2bc1058..7abc8a9 100644
--- a/src/core/manager.c
+++ b/src/core/manager.c
@@ -2408,7 +2408,7 @@ int manager_deserialize(Manager *m, FILE *f, FDSet *fds) {
                                 m->kdbus_fd = fdset_remove(fds, fd);
                         }
 
-                } else if (bus_track_deserialize_item(&m->deserialized_subscribed, l) == 0)
+                } else if (bus_track_deserialize_item(&m->deserialized_subscribed, l) < 0)
                         log_warning("Unknown serialization item '%s'", l);
         }
 
-- 
1.8.3.1



More information about the systemd-devel mailing list