return IN_SET(curr_mode, K_XLATE, K_UNICODE) ? 0 : -EBUSY;
}
-static int toggle_utf8(const char *name, int fd, bool utf8) {
+static int toggle_utf8_vc(const char *name, int fd, bool utf8) {
int r;
struct termios tc = {};
assert(name);
+ assert(fd >= 0);
r = ioctl(fd, KDSKBMODE, utf8 ? K_UNICODE : K_XLATE);
if (r < 0)
if (verify_vc_kbmode(fd_d) < 0)
continue;
- toggle_utf8(ttyname, fd_d, utf8);
+ (void) toggle_utf8_vc(ttyname, fd_d, utf8);
if (cfo.op != KD_FONT_OP_SET)
continue;
log_warning_errno(r, "Failed to read /proc/cmdline: %m");
(void) toggle_utf8_sysfs(utf8);
- (void) toggle_utf8(vc, fd, utf8);
+ (void) toggle_utf8_vc(vc, fd, utf8);
r = font_load_and_wait(vc, vc_font, vc_font_map, vc_font_unimap);
keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle, utf8) == 0;