From: Michal Schmidt Date: Sat, 7 Aug 2010 09:01:08 +0000 (+0200) Subject: systemctl: fix parsing of DBus reply in 'dot' X-Git-Tag: v7~16 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=4a4d6b4b319915f6108c26455d9807d1c99c8ab6 systemctl: fix parsing of DBus reply in 'dot' "systemctl dot" has been broken since the addition of the "Following=" property. --- diff --git a/src/systemctl.c b/src/systemctl.c index 3ca146447..1844638ba 100644 --- a/src/systemctl.c +++ b/src/systemctl.c @@ -489,7 +489,7 @@ static int dot(DBusConnection *bus, char **args, unsigned n) { dbus_message_iter_recurse(&iter, &sub); while (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_INVALID) { - const char *id, *description, *load_state, *active_state, *sub_state, *unit_path; + const char *id, *description, *load_state, *active_state, *sub_state, *following, *unit_path; if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_STRUCT) { log_error("Failed to parse reply."); @@ -504,6 +504,7 @@ static int dot(DBusConnection *bus, char **args, unsigned n) { bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &load_state, true) < 0 || bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &active_state, true) < 0 || bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &sub_state, true) < 0 || + bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_STRING, &following, true) < 0 || bus_iter_get_basic_and_next(&sub2, DBUS_TYPE_OBJECT_PATH, &unit_path, true) < 0) { log_error("Failed to parse reply."); r = -EIO;