diff --git a/tools/dbus-send.c b/tools/dbus-send.c index cde0bb7..0a6f79a 100644 --- a/tools/dbus-send.c +++ b/tools/dbus-send.c @@ -67,6 +67,7 @@ append_arg (DBusMessageIter *iter, int type, const char *value) double d; unsigned char byte; dbus_bool_t v_BOOLEAN; + int _int; /* FIXME - we are ignoring OOM returns on all these functions */ switch (type) @@ -137,6 +138,11 @@ append_arg (DBusMessageIter *iter, int type, const char *value) } break; + case DBUS_TYPE_UNIX_FD: + _int = strtoul (value, NULL, 0); + dbus_message_iter_append_basic (iter, DBUS_TYPE_UNIX_FD, &_int); + break; + default: fprintf (stderr, "%s: Unsupported data type %c\n", appname, (char) type); exit (1); @@ -215,6 +221,8 @@ type_from_name (const char *arg) type = DBUS_TYPE_BOOLEAN; else if (!strcmp (arg, "objpath")) type = DBUS_TYPE_OBJECT_PATH; + else if (!strcmp (arg, "fd")) + type = DBUS_TYPE_UNIX_FD; else { fprintf (stderr, "%s: Unknown type \"%s\"\n", appname, arg);