Changeset 1770 in MondoRescue for branches/stable/mindi-busybox/console-tools/loadkmap.c
- Timestamp:
- Nov 6, 2007, 11:01:53 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/stable/mindi-busybox/console-tools/loadkmap.c
r821 r1770 5 5 * Copyright (C) 1998 Enrique Zanardi <ezanardi@ull.es> 6 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation; either version 2 of the License, or 10 * (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 7 * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. 20 8 * 21 9 */ 22 10 23 #include <errno.h> 24 #include <fcntl.h> 25 #include <stdio.h> 26 #include <string.h> 27 #include <stdlib.h> 28 #include <unistd.h> 29 #include <sys/ioctl.h> 30 #include "busybox.h" 11 #include "libbb.h" 31 12 32 13 #define BINARY_KEYMAP_MAGIC "bkeymap" … … 45 26 #define MAX_NR_KEYMAPS 256 46 27 28 int loadkmap_main(int argc, char **argv); 47 29 int loadkmap_main(int argc, char **argv) 48 30 { 49 31 struct kbentry ke; 50 32 int i, j, fd; 51 u _short ibuff[NR_KEYS];33 uint16_t ibuff[NR_KEYS]; 52 34 char flags[MAX_NR_KEYMAPS]; 53 35 char buff[7]; … … 56 38 bb_show_usage(); 57 39 58 fd = bb_xopen(CURRENT_VC, O_RDWR);40 fd = xopen(CURRENT_VC, O_RDWR); 59 41 60 if ((bb_full_read(0, buff, 7) != 7) || (strncmp(buff, BINARY_KEYMAP_MAGIC, 7) != 0)) 61 bb_error_msg_and_die("This is not a valid binary keymap."); 42 xread(0, buff, 7); 43 if (strncmp(buff, BINARY_KEYMAP_MAGIC, 7)) 44 bb_error_msg_and_die("this is not a valid binary keymap"); 62 45 63 if (bb_full_read(0, flags, MAX_NR_KEYMAPS) != MAX_NR_KEYMAPS) 64 bb_perror_msg_and_die("Error reading keymap flags"); 46 xread(0, flags, MAX_NR_KEYMAPS); 65 47 66 48 for (i = 0; i < MAX_NR_KEYMAPS; i++) { 67 49 if (flags[i] == 1) { 68 bb_full_read(0, ibuff, NR_KEYS * sizeof(u_short));50 xread(0, ibuff, NR_KEYS * sizeof(uint16_t)); 69 51 for (j = 0; j < NR_KEYS; j++) { 70 52 ke.kb_index = j; … … 76 58 } 77 59 78 /* Don't bother to close files. Exit does that 79 * automagically, so we can save a few bytes */ 80 /* close(fd); */ 81 return EXIT_SUCCESS; 60 if (ENABLE_FEATURE_CLEAN_UP) close(fd); 61 return 0; 82 62 }
Note:
See TracChangeset
for help on using the changeset viewer.