ash: do not let EXIT trap to fire in `trap`
[oweals/busybox.git] / console-tools / loadkmap.c
index 28e53ebcadbfd50a34948deb38e2e814d809e9c6..ac2c0a6e007fbcd6a67ffa2b5b932b1f95aac0b4 100644 (file)
@@ -5,9 +5,7 @@
  * Copyright (C) 1998 Enrique Zanardi <ezanardi@ull.es>
  *
  * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
- *
  */
-
 #include "libbb.h"
 
 #define BINARY_KEYMAP_MAGIC "bkeymap"
@@ -26,16 +24,20 @@ struct kbentry {
 #define MAX_NR_KEYMAPS  256
 
 int loadkmap_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
-int loadkmap_main(int ATTRIBUTE_UNUSED argc, char **argv ATTRIBUTE_UNUSED)
+int loadkmap_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
 {
        struct kbentry ke;
        int i, j, fd;
        uint16_t ibuff[NR_KEYS];
+/*     const char *tty_name = CURRENT_TTY; */
        RESERVE_CONFIG_BUFFER(flags,MAX_NR_KEYMAPS);
 
-/*  bb_warn_ignoring_args(argc>=2);*/
-
-       fd = xopen(CURRENT_VC, O_RDWR);
+/* bb_warn_ignoring_args(argc >= 2); */
+       fd = get_console_fd_or_die();
+/* or maybe:
+       opt = getopt32(argv, "C:", &tty_name);
+       fd = xopen(tty_name, O_NONBLOCK);
+*/
 
        xread(STDIN_FILENO, flags, 7);
        if (strncmp(flags, BINARY_KEYMAP_MAGIC, 7))