chiark / gitweb /
fix typo
[elogind.git] / src / login / logind-dbus.c
index 5cdd0890e395d2239b846d4d0d06ee1bf1a634d7..17bd5e5c3cde493462fe236f1537495a2b6ba68d 100644 (file)
@@ -874,7 +874,7 @@ static int attach_device(Manager *m, const char *seat, const char *sysfs) {
                 goto finish;
         }
 
-        mkdir_p("/etc/udev/rules.d", 0755);
+        mkdir_p_label("/etc/udev/rules.d", 0755);
         r = write_one_line_file_atomic(file, rule);
         if (r < 0)
                 goto finish;
@@ -1068,8 +1068,10 @@ static int bus_manager_can_shutdown_or_sleep(
                 if (r < 0)
                         return r;
 
-                result = "na";
-                goto finish;
+                if (r == 0) {
+                        result = "na";
+                        goto finish;
+                }
         }
 
         r = have_multiple_sessions(connection, m, message, error);
@@ -1086,11 +1088,11 @@ static int bus_manager_can_shutdown_or_sleep(
 
                 if (r > 0)
                         result = "yes";
-                        else if (challenge)
-                                result = "challenge";
-                        else
-                                result = "no";
-                }
+                else if (challenge)
+                        result = "challenge";
+                else
+                        result = "no";
+        }
 
         if (blocked) {
                 r = verify_polkit(connection, message, action_ignore_inhibit, false, &challenge, error);
@@ -1890,9 +1892,9 @@ static DBusHandlerResult manager_message_handler(
                 if (r < 0)
                         return bus_send_error_reply(connection, message, &error, r);
 
-                mkdir_p("/var/lib/systemd", 0755);
+                mkdir_p_label("/var/lib/systemd", 0755);
 
-                r = safe_mkdir("/var/lib/systemd/linger", 0755, 0, 0);
+                r = mkdir_safe_label("/var/lib/systemd/linger", 0755, 0, 0);
                 if (r < 0)
                         return bus_send_error_reply(connection, message, &error, r);