]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
ctrlaltdel: use path.h to read /proc
authorKarel Zak <kzak@redhat.com>
Tue, 27 Oct 2015 10:56:51 +0000 (11:56 +0100)
committerKarel Zak <kzak@redhat.com>
Tue, 27 Oct 2015 10:56:51 +0000 (11:56 +0100)
Signed-off-by: Karel Zak <kzak@redhat.com>
sys-utils/Makemodule.am
sys-utils/ctrlaltdel.c

index 3d28ff1f6f638143fbaf03dfd6300a6663d92821..8f65eb735f616137cc7b46ec40487d13824e53a6 100644 (file)
@@ -95,6 +95,7 @@ if BUILD_CTRLALTDEL
 sbin_PROGRAMS += ctrlaltdel
 dist_man_MANS += sys-utils/ctrlaltdel.8
 ctrlaltdel_SOURCES = sys-utils/ctrlaltdel.c
+ctrlaltdel_LDADD = $(LDADD) libcommon.la
 endif
 
 if BUILD_FSFREEZE
index ffdad6a8a71b6966be59fb7dbdb351d4ae5dbf8a..438892585d0bf79f1589781ab299f9e2ad2a2e0c 100644 (file)
@@ -15,6 +15,7 @@
 #include "c.h"
 #include "closestream.h"
 #include "pathnames.h"
+#include "path.h"
 
 static void __attribute__ ((__noreturn__)) usage(FILE * out)
 {
@@ -33,16 +34,8 @@ static void __attribute__ ((__noreturn__)) usage(FILE * out)
 
 static int get_cad(void)
 {
-       FILE *fp;
-       int val;
+       uint64_t val = path_read_u64(_PATH_PROC_CTRL_ALT_DEL);
 
-       if (!(fp = fopen(_PATH_PROC_CTRL_ALT_DEL, "r"))) {
-               warn("%s", _PATH_PROC_CTRL_ALT_DEL);
-               return EXIT_FAILURE;
-       }
-       if (fscanf(fp, "%d", &val) != 1)
-               val = -1;
-       fclose(fp);
        switch (val) {
        case 0:
                fputs("soft\n", stdout);
@@ -52,7 +45,7 @@ static int get_cad(void)
                break;
        default:
                printf("%s hard\n", _("implicit"));
-               warnx(_("unexpected value in %s: %d"), _PATH_PROC_CTRL_ALT_DEL, val);
+               warnx(_("unexpected value in %s: %ju"), _PATH_PROC_CTRL_ALT_DEL, val);
                return EXIT_FAILURE;
        }
        return EXIT_SUCCESS;