chiark / gitweb /
terminal: add systemd-modeset debugging tool
[elogind.git] / src / libsystemd-terminal / sysview.c
index d885cb4d4aee722e2764df158bfc2560c1dfd4c1..fde87d11174b73bdc09a46114a812cb105e99064 100644 (file)
@@ -98,6 +98,7 @@ sysview_device *sysview_device_free(sysview_device *device) {
                 break;
         }
 
+        free(device->name);
         free(device);
 
         return NULL;
@@ -262,7 +263,7 @@ static int session_take_control_fn(sd_bus *bus,
 
                 log_debug("sysview: %s: TakeControl failed: %s: %s",
                           session->name, e->name, e->message);
-                error = sd_bus_error_get_errno(e);
+                error = -sd_bus_error_get_errno(e);
         } else {
                 session->has_control = true;
                 error = 0;
@@ -367,11 +368,11 @@ int sysview_seat_new(sysview_seat **out, sysview_context *c, const char *name) {
         if (!seat->name)
                 return -ENOMEM;
 
-        seat->session_map = hashmap_new(string_hash_func, string_compare_func);
+        seat->session_map = hashmap_new(&string_hash_ops);
         if (!seat->session_map)
                 return -ENOMEM;
 
-        seat->device_map = hashmap_new(string_hash_func, string_compare_func);
+        seat->device_map = hashmap_new(&string_hash_ops);
         if (!seat->device_map)
                 return -ENOMEM;
 
@@ -766,15 +767,15 @@ int sysview_context_new(sysview_context **out,
                         return errno > 0 ? -errno : -EFAULT;
         }
 
-        c->seat_map = hashmap_new(string_hash_func, string_compare_func);
+        c->seat_map = hashmap_new(&string_hash_ops);
         if (!c->seat_map)
                 return -ENOMEM;
 
-        c->session_map = hashmap_new(string_hash_func, string_compare_func);
+        c->session_map = hashmap_new(&string_hash_ops);
         if (!c->session_map)
                 return -ENOMEM;
 
-        c->device_map = hashmap_new(string_hash_func, string_compare_func);
+        c->device_map = hashmap_new(&string_hash_ops);
         if (!c->device_map)
                 return -ENOMEM;
 
@@ -821,7 +822,7 @@ static int context_ud_prepare_monitor(sysview_context *c, struct udev_monitor *m
                         return r;
         }
 
-        return r;
+        return 0;
 }
 
 static int context_ud_prepare_scan(sysview_context *c, struct udev_enumerate *e) {
@@ -1194,7 +1195,7 @@ static int context_ld_list_seats_fn(sd_bus *bus,
 
                 log_debug("sysview: ListSeats on logind failed: %s: %s",
                           error->name, error->message);
-                return sd_bus_error_get_errno(error);
+                return -sd_bus_error_get_errno(error);
         }
 
         r = sd_bus_message_enter_container(reply, 'a', "(so)");
@@ -1246,7 +1247,7 @@ static int context_ld_list_sessions_fn(sd_bus *bus,
 
                 log_debug("sysview: ListSessions on logind failed: %s: %s",
                           error->name, error->message);
-                return sd_bus_error_get_errno(error);
+                return -sd_bus_error_get_errno(error);
         }
 
         r = sd_bus_message_enter_container(reply, 'a', "(susso)");