aboutsummaryrefslogtreecommitdiff
path: root/console-tools/loadfont.c
diff options
context:
space:
mode:
Diffstat (limited to 'console-tools/loadfont.c')
-rw-r--r--console-tools/loadfont.c20
1 files changed, 4 insertions, 16 deletions
diff --git a/console-tools/loadfont.c b/console-tools/loadfont.c
index b046d40e3..6b4dcb475 100644
--- a/console-tools/loadfont.c
+++ b/console-tools/loadfont.c
@@ -49,13 +49,11 @@ static void do_loadfont(int fd, unsigned char *inbuf, int unit, int fontsize)
49 cfd.charheight = unit; 49 cfd.charheight = unit;
50 cfd.chardata = buf; 50 cfd.chardata = buf;
51 51
52 if (ioctl(fd, PIO_FONTX, &cfd) == 0) 52 if (!ioctl_or_perror(fd, PIO_FONTX, &cfd, "PIO_FONTX ioctl failed (will try PIO_FONT)"))
53 goto ret; /* success */ 53 goto ret; /* success */
54 bb_perror_msg("PIO_FONTX ioctl (will try PIO_FONT)");
55 } 54 }
56#endif 55#endif
57 if (ioctl(fd, PIO_FONT, buf)) 56 xioctl(fd, PIO_FONT, buf);
58 bb_perror_msg_and_die("PIO_FONT ioctl");
59 ret: 57 ret:
60 free(buf); 58 free(buf);
61} 59}
@@ -92,20 +90,10 @@ do_loadtable(int fd, unsigned char *inbuf, int tailsz, int fontsize)
92 advice.advised_hashsize = 0; 90 advice.advised_hashsize = 0;
93 advice.advised_hashstep = 0; 91 advice.advised_hashstep = 0;
94 advice.advised_hashlevel = 0; 92 advice.advised_hashlevel = 0;
95 if (ioctl(fd, PIO_UNIMAPCLR, &advice)) { 93 xioctl(fd, PIO_UNIMAPCLR, &advice);
96#ifdef ENOIOCTLCMD
97 if (errno == ENOIOCTLCMD) {
98 bb_error_msg("it seems this kernel is older than 1.1.92");
99 bb_error_msg_and_die("no Unicode mapping table loaded");
100 } else
101#endif
102 bb_perror_msg_and_die("PIO_UNIMAPCLR");
103 }
104 ud.entry_ct = ct; 94 ud.entry_ct = ct;
105 ud.entries = up; 95 ud.entries = up;
106 if (ioctl(fd, PIO_UNIMAP, &ud)) { 96 xioctl(fd, PIO_UNIMAP, &ud);
107 bb_perror_msg_and_die("PIO_UNIMAP");
108 }
109} 97}
110 98
111static void loadnewfont(int fd) 99static void loadnewfont(int fd)