]>
Commit | Line | Data |
---|---|---|
ea85cf66 AM |
1 | --- console-tools-0.3.3/lib/console/acm.c.jj Sun Jul 16 19:03:25 2000 |
2 | +++ console-tools-0.3.3/lib/console/acm.c Mon Jul 17 11:12:44 2000 | |
3 | @@ -172,12 +172,28 @@ int acm_read_ascii(FILE *fp, unicode buf | |
4 | ||
5 | if (charmap_section) | |
6 | { | |
7 | + if (!strcmp (p, "END")) | |
8 | + charmap_section = 2; | |
9 | + | |
10 | + if (charmap_section == 2) | |
11 | + continue; | |
12 | + | |
13 | if (*p != '<') | |
14 | continue; | |
15 | - strtok (NULL, "x"); | |
16 | - inp = strtok (NULL, "<"); | |
17 | - outp = strtok (NULL, ">"); | |
18 | - if (!inp || !outp) | |
19 | + if (p[1] == 'U' && isxdigit(p[2]) && isxdigit(p[3]) && | |
20 | + isxdigit(p[4]) && isxdigit(p[5]) && p[6] == '>') | |
21 | + { | |
22 | + outp = p + 1; | |
23 | + strtok (NULL, "x"); | |
24 | + inp = strtok (NULL, " \t\n"); | |
25 | + } | |
26 | + else | |
27 | + { | |
28 | + strtok (NULL, "x"); | |
29 | + inp = strtok (NULL, "<"); | |
30 | + outp = strtok (NULL, ">"); | |
31 | + } | |
32 | + if (!inp || !outp || *outp != 'U') | |
33 | { | |
34 | /* restore sig mask */ | |
35 | sigprocmask (SIG_SETMASK, &old_sigset, NULL); |