From ae4342ca3e30f7b11732ecda3ad15821e81bc314 Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Mon, 19 May 2008 08:18:50 +0000 Subject: - Rename getpty() to xgetpty() and adjust callers. - Rewrite kbd_mode and setconsole - Introduce and use console_make_active() and xopen_xwrite_close() - honour buffer-reservation method as set by the user (dumpkmap, loadkmap) - shrink rtcwake and some console-tools Saves about 270 Bytes --- console-tools/setconsole.c | 32 +++++++++++++------------------- 1 file changed, 13 insertions(+), 19 deletions(-) (limited to 'console-tools/setconsole.c') diff --git a/console-tools/setconsole.c b/console-tools/setconsole.c index 8765a7c2e..82fe83f22 100644 --- a/console-tools/setconsole.c +++ b/console-tools/setconsole.c @@ -3,40 +3,34 @@ * setconsole.c - redirect system console output * * Copyright (C) 2004,2005 Enrik Berkhan + * Copyright (C) 2008 Bernhard Fischer * * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. */ #include "libbb.h" -#if ENABLE_FEATURE_SETCONSOLE_LONG_OPTIONS -static const char setconsole_longopts[] ALIGN1 = - "reset\0" No_argument "r" - ; -#endif - -#define OPT_SETCONS_RESET 1 - int setconsole_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; -int setconsole_main(int argc, char **argv) +int setconsole_main(int ATTRIBUTE_UNUSED argc, char **argv) { - unsigned long flags; const char *device = CURRENT_TTY; + bool reset; #if ENABLE_FEATURE_SETCONSOLE_LONG_OPTIONS + static const char setconsole_longopts[] ALIGN1 = + "reset\0" No_argument "r" + ; applet_long_options = setconsole_longopts; #endif - flags = getopt32(argv, "r"); - - if (argc - optind > 1) - bb_show_usage(); + /* at most one non-option argument */ + opt_complementary = "?1"; + reset = getopt32(argv, "r"); - if (argc - optind == 1) { - if (flags & OPT_SETCONS_RESET) - bb_show_usage(); - device = argv[optind]; + argv += 1 + reset; + if (*argv) { + device = *argv; } else { - if (flags & OPT_SETCONS_RESET) + if (reset) device = DEV_CONSOLE; } -- cgit v1.2.3