1
0
mirror of https://github.com/systemd/systemd.git synced 2025-03-29 06:50:16 +03:00

systemctl: fix parsing of DBus reply in 'dot'

"systemctl dot" has been broken since the addition of the "Following="
property.
This commit is contained in:
Michal Schmidt 2010-08-07 11:01:08 +02:00 committed by Lennart Poettering
parent 485ccf9a5b
commit 4a4d6b4b31

View File

@ -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;