From c8e9a6f89355eafb32add8f0d3afe2c362977d5d Mon Sep 17 00:00:00 2001 From: martin-s Date: Tue, 5 Jun 2012 13:56:40 +0000 Subject: Fix:binding_dbus:Signature-compliant return values in case of no data git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@5127 ffa7fe5e-494d-0410-b361-a75ebd5db220 --- navit/binding/dbus/binding_dbus.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'navit/binding') diff --git a/navit/binding/dbus/binding_dbus.c b/navit/binding/dbus/binding_dbus.c index a1a92dde9..57585a950 100644 --- a/navit/binding/dbus/binding_dbus.c +++ b/navit/binding/dbus/binding_dbus.c @@ -353,6 +353,16 @@ dbus_error_invalid_object_path_parameter(DBusConnection *connection, DBusMessage return dbus_error(connection, message, DBUS_ERROR_BAD_ADDRESS, "object path parameter invalid"); } +static DBusHandlerResult +dbus_error_no_data_available(DBusConnection *connection, DBusMessage *message) +{ +#if 1 + return dbus_error(connection, message, DBUS_ERROR_FILE_NOT_FOUND, "no data available"); +#else + return empty_reply(connection, message); +#endif +} + #if 0 static void dbus_dump_iter(char *prefix, DBusMessageIter *iter) @@ -688,7 +698,7 @@ request_get_attr(DBusConnection *connection, DBusMessage *message, char *type, v dbus_message_unref (reply); return DBUS_HANDLER_RESULT_HANDLED; } - return empty_reply(connection, message); + return dbus_error_no_data_available(connection, message); } @@ -849,7 +859,7 @@ request_graphics_get_data(DBusConnection *connection, DBusMessage *message) dbus_message_unref (reply); return DBUS_HANDLER_RESULT_HANDLED; } - return empty_reply(connection, message); + return dbus_error_no_data_available(connection, message); } /* gui */ @@ -1373,7 +1383,7 @@ request_search_list_get_result(DBusConnection *connection, DBusMessage *message) return dbus_error_invalid_object_path(connection, message); result=search_list_get_result(search_list); if (!result) - return empty_reply(connection, message); + return dbus_error_no_data_available(connection, message); reply = dbus_message_new_method_return(message); dbus_message_iter_init_append(reply, &iter); dbus_message_iter_append_basic(&iter, DBUS_TYPE_INT32, &result->id); -- cgit v1.2.1