chiark / gitweb /
logind: Make more use of cleanup macros
[elogind.git] / src / login / logind-seat-dbus.c
index 7833d70a03425e8c8aa2025501afc79c73a2dee4..585e0c15c33feed5c6d343ed687b5252ed077fb6 100644 (file)
@@ -260,7 +260,7 @@ static DBusHandlerResult seat_message_dispatch(
                 DBusMessage *message) {
 
         DBusError error;
-        DBusMessage *reply = NULL;
+        _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
         int r;
 
         assert(s);
@@ -310,18 +310,13 @@ static DBusHandlerResult seat_message_dispatch(
         }
 
         if (reply) {
-                if (!dbus_connection_send(connection, reply, NULL))
+                if (!bus_maybe_send_reply(connection, message, reply))
                         goto oom;
-
-                dbus_message_unref(reply);
         }
 
         return DBUS_HANDLER_RESULT_HANDLED;
 
 oom:
-        if (reply)
-                dbus_message_unref(reply);
-
         dbus_error_free(&error);
 
         return DBUS_HANDLER_RESULT_NEED_MEMORY;
@@ -376,9 +371,9 @@ char *seat_bus_path(Seat *s) {
 }
 
 int seat_send_signal(Seat *s, bool new_seat) {
-        DBusMessage *m;
+        _cleanup_dbus_message_unref_ DBusMessage *m = NULL;
         int r = -ENOMEM;
-        char *p = NULL;
+        _cleanup_free_ char *p = NULL;
 
         assert(s);
 
@@ -406,16 +401,13 @@ int seat_send_signal(Seat *s, bool new_seat) {
         r = 0;
 
 finish:
-        dbus_message_unref(m);
-        free(p);
-
         return r;
 }
 
 int seat_send_changed(Seat *s, const char *properties) {
-        DBusMessage *m;
+        _cleanup_dbus_message_unref_ DBusMessage *m = NULL;
         int r = -ENOMEM;
-        char *p = NULL;
+        _cleanup_free_ char *p = NULL;
 
         assert(s);
 
@@ -436,9 +428,5 @@ int seat_send_changed(Seat *s, const char *properties) {
         r = 0;
 
 finish:
-        if (m)
-                dbus_message_unref(m);
-        free(p);
-
         return r;
 }