chiark / gitweb /
busctl: when no match is specified, add default match
authorLennart Poettering <lennart@poettering.net>
Tue, 19 Nov 2013 20:37:32 +0000 (21:37 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 20 Nov 2013 19:58:16 +0000 (20:58 +0100)
src/libsystemd-bus/busctl.c

index b9b3305e93b58f96406475d5da965677789c1fd2..4204adb5bc0d2f00bd412016049b8ef76fe6398c 100644 (file)
@@ -129,6 +129,7 @@ static int list_bus_names(sd_bus *bus, char **argv) {
 }
 
 static int monitor(sd_bus *bus, char *argv[]) {
+        bool added_something = false;
         char **i;
         int r;
 
@@ -149,6 +150,8 @@ static int monitor(sd_bus *bus, char *argv[]) {
                         log_error("Failed to add match: %s", strerror(-r));
                         return r;
                 }
+
+                added_something = true;
         }
 
         STRV_FOREACH(i, arg_matches) {
@@ -157,6 +160,16 @@ static int monitor(sd_bus *bus, char *argv[]) {
                         log_error("Failed to add match: %s", strerror(-r));
                         return r;
                 }
+
+                added_something = true;
+        }
+
+        if (!added_something) {
+                r = sd_bus_add_match(bus, "", NULL, NULL);
+                if (r < 0) {
+                        log_error("Failed to add match: %s", strerror(-r));
+                        return r;
+                }
         }
 
         for (;;) {