summaryrefslogtreecommitdiffstats
path: root/src/modules/dbus/iface-sample.c
diff options
context:
space:
mode:
authorTanu Kaskinen <tanuk@iki.fi>2009-08-30 19:52:22 +0300
committerTanu Kaskinen <tanuk@iki.fi>2009-08-30 19:52:22 +0300
commit0e096632c53b746b9f4b4c0249d9e5a18c1c543d (patch)
treee0f4de5155497b8bb43ba579793fb409f31a12cf /src/modules/dbus/iface-sample.c
parent7bc8a793b8ae4c46e59a444313e4d06186de1680 (diff)
dbus: Do message argument type checking early, centrally.
Diffstat (limited to 'src/modules/dbus/iface-sample.c')
-rw-r--r--src/modules/dbus/iface-sample.c24
1 files changed, 8 insertions, 16 deletions
diff --git a/src/modules/dbus/iface-sample.c b/src/modules/dbus/iface-sample.c
index 7147be14..b0542a60 100644
--- a/src/modules/dbus/iface-sample.c
+++ b/src/modules/dbus/iface-sample.c
@@ -359,14 +359,10 @@ static void handle_play(DBusConnection *conn, DBusMessage *msg, void *userdata)
pa_assert(msg);
pa_assert(s);
- if (!dbus_message_iter_init(msg, &msg_iter)) {
- pa_dbus_send_error(conn, msg, DBUS_ERROR_INVALID_ARGS, "Too few arguments.");
- return;
- }
-
- if (pa_dbus_get_basic_arg(conn, msg, &msg_iter, DBUS_TYPE_UINT32, &volume) < 0)
- return;
+ pa_assert_se(dbus_message_iter_init(msg, &msg_iter));
+ dbus_message_iter_get_basic(&msg_iter, &volume);
+ pa_assert_se(dbus_message_iter_next(&msg_iter));
if (!(property_list = pa_dbus_get_proplist_arg(conn, msg, &msg_iter)))
return;
@@ -405,17 +401,13 @@ static void handle_play_to_sink(DBusConnection *conn, DBusMessage *msg, void *us
pa_assert(msg);
pa_assert(s);
- if (!dbus_message_iter_init(msg, &msg_iter)) {
- pa_dbus_send_error(conn, msg, DBUS_ERROR_INVALID_ARGS, "Too few arguments.");
- return;
- }
-
- if (pa_dbus_get_basic_arg(conn, msg, &msg_iter, DBUS_TYPE_OBJECT_PATH, &sink_path) < 0)
- return;
+ pa_assert_se(dbus_message_iter_init(msg, &msg_iter));
+ dbus_message_iter_get_basic(&msg_iter, &sink_path);
- if (pa_dbus_get_basic_arg(conn, msg, &msg_iter, DBUS_TYPE_UINT32, &volume) < 0)
- return;
+ pa_assert_se(dbus_message_iter_next(&msg_iter));
+ dbus_message_iter_get_basic(&msg_iter, &volume);
+ pa_assert_se(dbus_message_iter_next(&msg_iter));
if (!(property_list = pa_dbus_get_proplist_arg(conn, msg, &msg_iter)))
return;