chiark / gitweb /
shared/sparse-endian.h: add missing byteswap.h include
[elogind.git] / src / libsystemd-terminal / sysview.c
index f5363dedf403421f39bf1e46cc4f52d6f8d73c5d..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;
 
@@ -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)");