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
}
num = xatou_range(argv[1], 1, 63);
- /* double cast suppresses "cast to ptr from int of different size" */
- console_make_active(get_console_fd(), num);
+ console_make_active(get_console_fd_or_die(), num);
return EXIT_SUCCESS;
}
}
/* double cast suppresses "cast to ptr from int of different size" */
- xioctl(get_console_fd(), VT_DISALLOCATE, (void *)(ptrdiff_t)num);
+ xioctl(get_console_fd_or_die(), VT_DISALLOCATE, (void *)(ptrdiff_t)num);
return EXIT_SUCCESS;
}
/* bb_warn_ignoring_args(argc>=2);*/
- fd = xopen(CURRENT_VC, O_RDWR);
+ fd = get_console_fd_or_die();
write(STDOUT_FILENO, "bkeymap", 7);
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;
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)
if (argc != 1)
bb_show_usage();
- fd = xopen(CURRENT_VC, O_RDWR);
+ fd = get_console_fd_or_die();
loadnewfont(fd);
return EXIT_SUCCESS;
/* bb_warn_ignoring_args(argc>=2);*/
- fd = xopen(CURRENT_VC, O_RDWR);
+ fd = get_console_fd_or_die();
xread(STDIN_FILENO, flags, 7);
if (strncmp(flags, BINARY_KEYMAP_MAGIC, 7))
int fd, sc;
struct kbkeycode a;
- if (argc % 2 != 1 || argc < 2) {
+ if (!(argc & 1) /* if even */ || argc < 2) {
bb_show_usage();
}
- fd = get_console_fd();
+ fd = get_console_fd_or_die();
while (argc > 2) {
a.keycode = xatou_range(argv[2], 0, 127);
a.scancode += 128;
}
ioctl_or_perror_and_die(fd, KDSETKEYCODE, &a,
- "failed to set SCANCODE %x to KEYCODE %d",
+ "can't set SCANCODE %x to KEYCODE %d",
sc, a.keycode);
argc -= 2;
argv += 2;
extern int device_open(const char *device, int mode) FAST_FUNC;
enum { GETPTY_BUFSIZE = 16 }; /* more than enough for "/dev/ttyXXX" */
extern int xgetpty(char *line) FAST_FUNC;
-extern int get_console_fd(void) FAST_FUNC;
+extern int get_console_fd_or_die(void) FAST_FUNC;
extern void console_make_active(int fd, const int vt_num) FAST_FUNC;
extern char *find_block_device(const char *path) FAST_FUNC;
/* bb_copyfd_XX print read/write errors and return -1 if they occur */
* if someone else used X (which does a chown on /dev/console).
*/
-int FAST_FUNC get_console_fd(void)
+int FAST_FUNC get_console_fd_or_die(void)
{
static const char *const console_names[] = {
DEV_CONSOLE, CURRENT_VC, CURRENT_TTY
}
}
- bb_error_msg("can't open console");
- return fd; /* total failure */
+ bb_error_msg_and_die("can't open console");
+ /*return fd; - total failure */
}
/* From <linux/vt.h> */