chiark / gitweb /
Prep v239: Fix ustreams move of the unneeded target_table into its own also unneeded...
authorSven Eden <yamakuzure@gmx.net>
Thu, 23 Aug 2018 06:35:42 +0000 (08:35 +0200)
committerSven Eden <yamakuzure@gmx.net>
Fri, 24 Aug 2018 14:47:08 +0000 (16:47 +0200)
src/login/logind-action.c
src/login/logind-action.h
src/login/logind-dbus.c

index 497164e41870dc0ba86c1956948aafad22446298..a9f73912950ada051f179be13d19e0ea3cd9af2d 100644 (file)
@@ -20,6 +20,8 @@
 #include "fileio.h"
 #include "sd-messages.h"
 #include "strv.h"
+
+#if 0 /// elogind does this itself. No target table required
 const char* manager_target_for_action(HandleAction handle) {
         static const char * const target_table[_HANDLE_ACTION_MAX] = {
                 [HANDLE_POWEROFF] = SPECIAL_POWEROFF_TARGET,
@@ -37,6 +39,7 @@ const char* manager_target_for_action(HandleAction handle) {
                 return target_table[handle];
         return NULL;
 }
+#endif // 0
 
 int manager_handle_action(
                 Manager *m,
@@ -56,13 +59,13 @@ int manager_handle_action(
                 [HANDLE_SUSPEND_THEN_HIBERNATE] = "Suspending, then hibernating...",
         };
 
-#if 0 /// elogind does this itself. No target table required
-#endif // 0
         _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
         InhibitWhat inhibit_operation;
         Inhibitor *offending = NULL;
         bool supported;
+#if 0 /// elogind uses its own variant, which can use the handle directly.
         const char *target;
+#endif // 0
         int r;
 
         assert(m);
@@ -136,7 +139,9 @@ int manager_handle_action(
                 return -EALREADY;
         }
 
+#if 0 /// elogind uses its own variant, which can use the handle directly.
         assert_se(target = manager_target_for_action(handle));
+#endif // 0
 
         inhibit_operation = IN_SET(handle, HANDLE_SUSPEND, HANDLE_HIBERNATE,
                                            HANDLE_HYBRID_SLEEP,
index a45aab7854722435279befd0f9208f5adb9c2cc2..bc2d36050237e43ef249c749c88c437aaa9dfee7 100644 (file)
@@ -31,6 +31,8 @@ int manager_handle_action(
 const char* handle_action_to_string(HandleAction h) _const_;
 HandleAction handle_action_from_string(const char *s) _pure_;
 
+#if 0 /// elogind does this itself. No target table required
 const char* manager_target_for_action(HandleAction handle);
+#endif // 0
 
 CONFIG_PARSER_PROTOTYPE(config_parse_handle_action);
index 2f7782a13e85f00accc2b88655c183d57102c724..63a206ce2c113d8783ce3f3d7adf587e3d734f94 100644 (file)
@@ -2367,11 +2367,11 @@ static int method_can_shutdown_or_sleep(
         blocked = manager_is_inhibited(m, w, INHIBIT_BLOCK, NULL, false, true, uid, NULL);
 
         handle = handle_action_from_string(sleep_verb);
+#if 0 /// elogind uses its own variant, which can use the handle directly.
         if (handle >= 0) {
                 const char *target;
 
                 target = manager_target_for_action(handle);
-#if 0 /// elogind does not support systemd units units. A valid handle is enough
                 if (target) {
                         _cleanup_free_ char *load_state = NULL;
 
@@ -2380,20 +2380,16 @@ static int method_can_shutdown_or_sleep(
                                 return r;
 
                         if (!streq(load_state, "loaded")) {
-#else
-                if (NULL == target) {
-#endif // 0
                                 result = "no";
                                 goto finish;
-#if 0 /// one less with elogind...
                         }
-#endif // 0
                 }
 #else
                 if ( (handle <= HANDLE_IGNORE) || (handle >= _HANDLE_ACTION_MAX) ) {
                         result = "no";
                         goto finish;
         }
+#endif // 0
 
         if (multiple_sessions) {
                 r = bus_test_polkit(message, CAP_SYS_BOOT, action_multiple_sessions, NULL, UID_INVALID, &challenge, error);