chiark / gitweb /
everywhere: remove configurability of sysv runlevel to target mapping
[elogind.git] / src / update-utmp / update-utmp.c
index 311d686a8cc3e654cca5271985ba5eea355909ce..5e7498c9e2927c0633eb915876dfa93b18bdad3b 100644 (file)
@@ -80,11 +80,9 @@ static int get_current_runlevel(Context *c) {
                  * here over the others, since these are the main
                  * runlevels used on Fedora. It might make sense to
                  * change the order on some distributions. */
-                { '5', SPECIAL_RUNLEVEL5_TARGET },
-                { '3', SPECIAL_RUNLEVEL3_TARGET },
-                { '4', SPECIAL_RUNLEVEL4_TARGET },
-                { '2', SPECIAL_RUNLEVEL2_TARGET },
-                { '1', SPECIAL_RESCUE_TARGET },
+                { '5', SPECIAL_GRAPHICAL_TARGET  },
+                { '3', SPECIAL_MULTI_USER_TARGET },
+                { '1', SPECIAL_RESCUE_TARGET     },
         };
 
         _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
@@ -133,7 +131,7 @@ static int on_reboot(Context *c) {
         if (c->audit_fd >= 0)
                 if (audit_log_user_comm_message(c->audit_fd, AUDIT_SYSTEM_BOOT, "", "systemd-update-utmp", NULL, NULL, NULL, 1) < 0 &&
                     errno != EPERM) {
-                        log_error("Failed to send audit message: %m");
+                        log_error_errno(errno, "Failed to send audit message: %m");
                         r = -errno;
                 }
 #endif
@@ -144,7 +142,7 @@ static int on_reboot(Context *c) {
 
         q = utmp_put_reboot(t);
         if (q < 0) {
-                log_error("Failed to write utmp record: %s", strerror(-q));
+                log_error_errno(q, "Failed to write utmp record: %m");
                 r = q;
         }
 
@@ -163,14 +161,14 @@ static int on_shutdown(Context *c) {
         if (c->audit_fd >= 0)
                 if (audit_log_user_comm_message(c->audit_fd, AUDIT_SYSTEM_SHUTDOWN, "", "systemd-update-utmp", NULL, NULL, NULL, 1) < 0 &&
                     errno != EPERM) {
-                        log_error("Failed to send audit message: %m");
+                        log_error_errno(errno, "Failed to send audit message: %m");
                         r = -errno;
                 }
 #endif
 
         q = utmp_put_shutdown();
         if (q < 0) {
-                log_error("Failed to write utmp record: %s", strerror(-q));
+                log_error_errno(q, "Failed to write utmp record: %m");
                 r = q;
         }
 
@@ -189,10 +187,8 @@ static int on_runlevel(Context *c) {
         q = utmp_get_runlevel(&previous, NULL);
 
         if (q < 0) {
-                if (q != -ESRCH && q != -ENOENT) {
-                        log_error("Failed to get current runlevel: %s", strerror(-q));
-                        return q;
-                }
+                if (q != -ESRCH && q != -ENOENT)
+                        return log_error_errno(q, "Failed to get current runlevel: %m");
 
                 previous = 0;
         }
@@ -217,7 +213,7 @@ static int on_runlevel(Context *c) {
 
                 if (audit_log_user_comm_message(c->audit_fd, AUDIT_SYSTEM_RUNLEVEL, s, "systemd-update-utmp", NULL, NULL, NULL, 1) < 0 &&
                     errno != EPERM) {
-                        log_error("Failed to send audit message: %m");
+                        log_error_errno(errno, "Failed to send audit message: %m");
                         r = -errno;
                 }
         }
@@ -225,7 +221,7 @@ static int on_runlevel(Context *c) {
 
         q = utmp_put_runlevel(runlevel, previous);
         if (q < 0 && q != -ESRCH && q != -ENOENT) {
-                log_error("Failed to write utmp record: %s", strerror(-q));
+                log_error_errno(q, "Failed to write utmp record: %m");
                 r = q;
         }
 
@@ -261,11 +257,11 @@ int main(int argc, char *argv[]) {
          * don't worry about it. */
         c.audit_fd = audit_open();
         if (c.audit_fd < 0 && errno != EAFNOSUPPORT && errno != EPROTONOSUPPORT)
-                log_error("Failed to connect to audit log: %m");
+                log_error_errno(errno, "Failed to connect to audit log: %m");
 #endif
         r = bus_open_system_systemd(&c.bus);
         if (r < 0) {
-                log_error("Failed to get D-Bus connection: %s", strerror(-r));
+                log_error_errno(r, "Failed to get D-Bus connection: %m");
                 r = -EIO;
                 goto finish;
         }