lineedit: do not hang on error, but return error indicator.
[oweals/busybox.git] / console-tools / setlogcons.c
index 2e2a5a47190e6818f5965fac1be734e3f786b52d..52d2608aa7cef36b59760c196f376b121952be33 100644 (file)
@@ -6,26 +6,25 @@
  *
  * Based on setlogcons (kbd-1.12) by Andries E. Brouwer
  *
- * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
+ * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
 
 #include "libbb.h"
 
-int setlogcons_main(int argc, char **argv);
-int setlogcons_main(int argc, char **argv)
+int setlogcons_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int setlogcons_main(int argc UNUSED_PARAM, char **argv)
 {
        struct {
                char fn;
                char subarg;
-       } arg;
+       } arg = { 11, /* redirect kernel messages */
+                         0   /* to specified console (current as default) */
+                       };
 
-       arg.fn = 11;    /* redirect kernel messages */
-       arg.subarg = 0; /* to specified console (current as default) */
-
-       if (argc == 2)
-               arg.subarg = xatoul_range(argv[1], 0, 63);
+       if (argv[1])
+               arg.subarg = xatou_range(argv[1], 0, 63);
 
        xioctl(xopen(VC_1, O_RDONLY), TIOCLINUX, &arg);
 
-       return 0;
+       return EXIT_SUCCESS;
 }