diff options
author | Michael Olbrich <m.olbrich@pengutronix.de> | 2010-05-29 00:01:30 +0200 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2010-06-03 17:08:11 +0200 |
commit | 8bcf87ce358e87600151a0053db8c81e167c5af3 (patch) | |
tree | ba842bfc0e84f403ae19071707942d21d67ea3e6 | |
parent | 5d8c1f51b919625c5fb5ab892d29b4510d888ed2 (diff) | |
download | json-dbus-bridge-8bcf87ce358e87600151a0053db8c81e167c5af3.tar.gz json-dbus-bridge-8bcf87ce358e87600151a0053db8c81e167c5af3.tar.xz |
[src] cleanup
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r-- | src/bridge.c | 31 | ||||
-rw-r--r-- | src/bridge_request.c | 18 |
2 files changed, 27 insertions, 22 deletions
diff --git a/src/bridge.c b/src/bridge.c index 9d5661a..f12b9c1 100644 --- a/src/bridge.c +++ b/src/bridge.c @@ -48,7 +48,7 @@ void _bridge_handle_dbus_watch(evutil_socket_t s, short flags, void *data) { DBusConnection *connection = dbus_bus_get(DBUS_BUS_SESSION, 0); DBusWatch *watch = (DBusWatch*)data; - int f = 0; + unsigned int f = 0; (void)s; @@ -56,7 +56,8 @@ void _bridge_handle_dbus_watch(evutil_socket_t s, short flags, void *data) f |= DBUS_WATCH_READABLE; if (flags & EV_WRITE) f |= DBUS_WATCH_WRITABLE; - dbus_watch_handle(watch, f); + if (!dbus_watch_handle(watch, f)) + return; while (dbus_connection_dispatch(connection) == DBUS_DISPATCH_DATA_REMAINS); } @@ -70,7 +71,8 @@ void _bridge_handle_dbus_timeout(evutil_socket_t s, short flags, void *data) if (!(flags & EV_TIMEOUT)) return; - dbus_timeout_handle(timeout); + if (!dbus_timeout_handle(timeout)) + return; while (dbus_connection_dispatch(connection) == DBUS_DISPATCH_DATA_REMAINS); } @@ -110,7 +112,6 @@ void _bridge_remove_watch(DBusWatch *watch, void *data) struct event *ev = (struct event*)dbus_watch_get_data(watch); (void)data; - event_del(ev); event_free(ev); return; } @@ -149,7 +150,6 @@ void _bridge_remove_timeout(DBusTimeout *timeout, void *data) struct event *ev = (struct event*)dbus_timeout_get_data(timeout); (void)data; - event_del(ev); event_free(ev); return; } @@ -190,6 +190,7 @@ void bridge_handle_cgi(evutil_socket_t s, short flags, void *data) int bridge_init(bridge_t *self, const char *socket_path) { DBusError dbus_error; + struct event *ev; if (FCGX_Init() != 0) { fprintf(stdout, "FCGX_Init failed."); @@ -218,22 +219,24 @@ int bridge_init(bridge_t *self, const char *socket_path) self->event_base = event_base_new(); - struct event * ev = event_new(self->event_base, self->socket, EV_READ|EV_PERSIST, bridge_handle_cgi, self); + ev = event_new(self->event_base, self->socket, EV_READ|EV_PERSIST, bridge_handle_cgi, self); event_add(ev, 0); - dbus_connection_set_watch_functions(self->dbus_connection, - _bridge_add_watch, _bridge_remove_watch, _bridge_toggle_watch, - self, 0); + if (!dbus_connection_set_watch_functions(self->dbus_connection, + _bridge_add_watch, _bridge_remove_watch, + _bridge_toggle_watch, self, 0)) + return EINVAL; - dbus_connection_set_timeout_functions(self->dbus_connection, - _bridge_add_timeout, _bridge_remove_timeout, _bridge_toggle_timeout, - self, 0); + if (!dbus_connection_set_timeout_functions(self->dbus_connection, + _bridge_add_timeout, _bridge_remove_timeout, + _bridge_toggle_timeout, self, 0)) + return EINVAL; dbus_connection_set_dispatch_status_function(self->dbus_connection, - _bridge_dispatch_status, self, 0); + _bridge_dispatch_status, self, 0); dbus_connection_set_wakeup_main_function(self->dbus_connection, - _bridge_wkaeup_main, self, 0); + _bridge_wkaeup_main, self, 0); return 0; } diff --git a/src/bridge_request.c b/src/bridge_request.c index b52f669..72c38bd 100644 --- a/src/bridge_request.c +++ b/src/bridge_request.c @@ -71,7 +71,7 @@ int bridge_request_getinput(bridge_request_t *self, char **data) if (len <= 0) return EINVAL; - if ((buffer = malloc(len+1)) == 0) { + if ((buffer = malloc((size_t)len+1)) == 0) { FCGX_FPrintF(self->request.err, "out of memory!"); return ENOMEM; } @@ -247,18 +247,20 @@ int bridge_request_dbus_params_dict(bridge_request_t *self, "string dict key type expected."); return EINVAL; } - dbus_signature_iter_next(&sigArgs); - - if (json_object_get_type(element) != json_type_object) { + if (!dbus_signature_iter_next(&sigArgs) || + (json_object_get_type(element) != json_type_object)) { bridge_request_error(self, "object expected."); return EINVAL; } - json_object_object_foreach(element, key, tmp) { +#ifndef S_SPLINT_S + json_object_object_foreach(element, key, tmp) +#endif + { DBusSignatureIter tmpSigArgs = sigArgs; dbus_message_iter_open_container(it, DBUS_TYPE_DICT_ENTRY, 0,&args); dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &key); - + ret = bridge_request_dbus_params_element(self, tmp, &tmpSigArgs, &args); if (ret != 0) @@ -461,7 +463,7 @@ int bridge_request_json_params_parse(bridge_request_t *self, DBusMessageIter *it case DBUS_TYPE_INT16: { int16_t value = 0; dbus_message_iter_get_basic(it, &value); - *result = json_object_new_int(value); + *result = json_object_new_int((int)value); break; } case DBUS_TYPE_UINT16: @@ -633,7 +635,7 @@ int bridge_request_call_dbus_json(bridge_request_t *self, DBusMessage *in_dbus) if (dbus_message_get_type(in_dbus) == DBUS_MESSAGE_TYPE_ERROR) { dbus_error_init(&err); - dbus_set_error_from_message (&err, in_dbus); + (void)dbus_set_error_from_message(&err, in_dbus); bridge_request_error(self, err.message ? err.message : err.name); dbus_error_free(&err); ret = EINVAL; |