aboutsummaryrefslogtreecommitdiff
path: root/console-tools/kbd_mode.c
diff options
context:
space:
mode:
authorGravatar Denis Vlasenko <vda.linux@googlemail.com>2008-08-05 23:32:27 +0000
committerGravatar Denis Vlasenko <vda.linux@googlemail.com>2008-08-05 23:32:27 +0000
commit2afd5ab62ca5f2438a3953f37e738f73553595da (patch)
treef6406254bd52e449ac58851e370774ed29e449c2 /console-tools/kbd_mode.c
parente0143a1aad60e9141245034379469477006dba81 (diff)
downloadbusybox-2afd5ab62ca5f2438a3953f37e738f73553595da.tar.gz
busybox-2afd5ab62ca5f2438a3953f37e738f73553595da.tar.bz2
*: use get_console_fd() as appropriate, and make it fail on open error -
get_console_fd_or_die(). function old new delta get_console_fd_or_die - 163 +163 loadkmap_main 211 201 -10 loadfont_main 440 430 -10 dumpkmap_main 218 208 -10 kbd_mode_main 158 146 -12 setkeycodes_main 156 143 -13 get_console_fd 163 - -163 ------------------------------------------------------------------------------ (add/remove: 1/1 grow/shrink: 0/5 up/down: 163/-218) Total: -55 bytes
Diffstat (limited to 'console-tools/kbd_mode.c')
-rw-r--r--console-tools/kbd_mode.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/console-tools/kbd_mode.c b/console-tools/kbd_mode.c
index 2162fd4fc..cb97947ce 100644
--- a/console-tools/kbd_mode.c
+++ b/console-tools/kbd_mode.c
@@ -19,17 +19,15 @@ int kbd_mode_main(int argc UNUSED_PARAM, char **argv)
int fd;
unsigned opt;
enum {
- SCANCODE = (1<<0),
- ASCII = (1<<1),
- MEDIUMRAW= (1<<2),
- UNICODE = (1<<3)
+ SCANCODE = (1 << 0),
+ ASCII = (1 << 1),
+ MEDIUMRAW = (1 << 2),
+ UNICODE = (1 << 3)
};
static const char KD_xxx[] ALIGN1 = "saku";
opt = getopt32(argv, KD_xxx);
- fd = get_console_fd();
-/* if (fd < 0)
- return EXIT_FAILURE;
-*/
+ fd = get_console_fd_or_die();
+
if (!opt) { /* print current setting */
const char *mode = "unknown";
int m;
@@ -46,7 +44,8 @@ int kbd_mode_main(int argc UNUSED_PARAM, char **argv)
printf("The keyboard is in %s mode\n", mode);
} else {
opt = opt & UNICODE ? 3 : opt >> 1;
- xioctl(fd, KDSKBMODE, opt);
+ /* double cast prevents warnings about widening conversion */
+ xioctl(fd, KDSKBMODE, (void*)(ptrdiff_t)opt);
}
if (ENABLE_FEATURE_CLEAN_UP)