*: 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
diff --git a/console-tools/kbd_mode.c b/console-tools/kbd_mode.c
index 2162fd4..cb97947 100644
--- a/console-tools/kbd_mode.c
+++ b/console-tools/kbd_mode.c
@@ -19,17 +19,15 @@
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 @@
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)