blob: 990a520d4a1ce244b4c19974979c54cd964aa926 [file] [log] [blame]
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);