aboutsummaryrefslogtreecommitdiff
path: root/console-tools/loadkmap.c
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2008-05-19 08:18:50 +0000
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2008-05-19 08:18:50 +0000
commitae4342ca3e30f7b11732ecda3ad15821e81bc314 (patch)
tree1878104940eac4649bc8add4d0b2893ab1cb0a94 /console-tools/loadkmap.c
parentee56e013cfb6304f66129afee7978b0864699419 (diff)
downloadbusybox-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.c25
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
28int loadkmap_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 28int loadkmap_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
29int loadkmap_main(int argc, char **argv ATTRIBUTE_UNUSED) 29int 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}