diff options
author | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2008-05-19 08:18:50 +0000 |
---|---|---|
committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2008-05-19 08:18:50 +0000 |
commit | ae4342ca3e30f7b11732ecda3ad15821e81bc314 (patch) | |
tree | 1878104940eac4649bc8add4d0b2893ab1cb0a94 /console-tools/loadkmap.c | |
parent | ee56e013cfb6304f66129afee7978b0864699419 (diff) | |
download | busybox-w32-ae4342ca3e30f7b11732ecda3ad15821e81bc314.tar.gz busybox-w32-ae4342ca3e30f7b11732ecda3ad15821e81bc314.tar.bz2 busybox-w32-ae4342ca3e30f7b11732ecda3ad15821e81bc314.zip |
- 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
Diffstat (limited to 'console-tools/loadkmap.c')
-rw-r--r-- | console-tools/loadkmap.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/console-tools/loadkmap.c b/console-tools/loadkmap.c index bea5a771f..28e53ebca 100644 --- a/console-tools/loadkmap.c +++ b/console-tools/loadkmap.c | |||
@@ -26,28 +26,26 @@ struct kbentry { | |||
26 | #define MAX_NR_KEYMAPS 256 | 26 | #define MAX_NR_KEYMAPS 256 |
27 | 27 | ||
28 | int loadkmap_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | 28 | int loadkmap_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; |
29 | int loadkmap_main(int argc, char **argv ATTRIBUTE_UNUSED) | 29 | int loadkmap_main(int ATTRIBUTE_UNUSED argc, char **argv ATTRIBUTE_UNUSED) |
30 | { | 30 | { |
31 | struct kbentry ke; | 31 | struct kbentry ke; |
32 | int i, j, fd; | 32 | int i, j, fd; |
33 | uint16_t ibuff[NR_KEYS]; | 33 | uint16_t ibuff[NR_KEYS]; |
34 | char flags[MAX_NR_KEYMAPS]; | 34 | RESERVE_CONFIG_BUFFER(flags,MAX_NR_KEYMAPS); |
35 | char buff[7]; | ||
36 | 35 | ||
37 | if (argc != 1) | 36 | /* bb_warn_ignoring_args(argc>=2);*/ |
38 | bb_show_usage(); | ||
39 | 37 | ||
40 | fd = xopen(CURRENT_VC, O_RDWR); | 38 | fd = xopen(CURRENT_VC, O_RDWR); |
41 | 39 | ||
42 | xread(0, buff, 7); | 40 | xread(STDIN_FILENO, flags, 7); |
43 | if (strncmp(buff, BINARY_KEYMAP_MAGIC, 7)) | 41 | if (strncmp(flags, BINARY_KEYMAP_MAGIC, 7)) |
44 | bb_error_msg_and_die("this is not a valid binary keymap"); | 42 | bb_error_msg_and_die("not a valid binary keymap"); |
45 | 43 | ||
46 | xread(0, flags, MAX_NR_KEYMAPS); | 44 | xread(STDIN_FILENO, flags, MAX_NR_KEYMAPS); |
47 | 45 | ||
48 | for (i = 0; i < MAX_NR_KEYMAPS; i++) { | 46 | for (i = 0; i < MAX_NR_KEYMAPS; i++) { |
49 | if (flags[i] == 1) { | 47 | if (flags[i] == 1) { |
50 | xread(0, ibuff, NR_KEYS * sizeof(uint16_t)); | 48 | xread(STDIN_FILENO, ibuff, NR_KEYS * sizeof(uint16_t)); |
51 | for (j = 0; j < NR_KEYS; j++) { | 49 | for (j = 0; j < NR_KEYS; j++) { |
52 | ke.kb_index = j; | 50 | ke.kb_index = j; |
53 | ke.kb_table = i; | 51 | ke.kb_table = i; |
@@ -57,6 +55,9 @@ int loadkmap_main(int argc, char **argv ATTRIBUTE_UNUSED) | |||
57 | } | 55 | } |
58 | } | 56 | } |
59 | 57 | ||
60 | if (ENABLE_FEATURE_CLEAN_UP) close(fd); | 58 | if (ENABLE_FEATURE_CLEAN_UP) { |
61 | return 0; | 59 | close(fd); |
60 | RELEASE_CONFIG_BUFFER(flags); | ||
61 | } | ||
62 | return EXIT_SUCCESS; | ||
62 | } | 63 | } |