summaryrefslogtreecommitdiffstats
path: root/tools/dbus-monitor.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/dbus-monitor.c')
-rw-r--r--tools/dbus-monitor.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/tools/dbus-monitor.c b/tools/dbus-monitor.c
index 8a8e6585..441ead38 100644
--- a/tools/dbus-monitor.c
+++ b/tools/dbus-monitor.c
@@ -89,6 +89,13 @@ handler_func (DBusMessageHandler *handler,
return DBUS_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
}
+static void
+usage (char *name, int ecode)
+{
+ fprintf (stderr, "Usage: %s [--session]\n", name);
+ exit (ecode);
+}
+
int
main (int argc, char *argv[])
{
@@ -97,6 +104,24 @@ main (int argc, char *argv[])
DBusBusType type = DBUS_BUS_SYSTEM;
DBusMessageHandler *handler;
GMainLoop *loop;
+ int i;
+
+ for (i = 1; i < argc; i++)
+ {
+ char *arg = argv[i];
+
+ if (!strcmp (arg, "--session"))
+ type = DBUS_BUS_SESSION;
+ else if (!strcmp (arg, "--help"))
+ usage (argv[0], 0);
+ else if (!strcmp (arg, "--"))
+ break;
+ else if (arg[0] == '-')
+ usage (argv[0], 1);
+ }
+
+ if (argc > 2)
+ usage (argv[0], 1);
loop = g_main_loop_new (NULL, FALSE);