diff options
-rw-r--r-- | st.c | 15 |
1 files changed, 5 insertions, 10 deletions
@@ -2315,19 +2315,14 @@ techo(char *buf, int len) { | |||
2315 | 2315 | ||
2316 | void | 2316 | void |
2317 | tdeftran(char ascii) { | 2317 | tdeftran(char ascii) { |
2318 | char c, (*bp)[2]; | 2318 | static char cs[] = "0B"; |
2319 | static char tbl[][2] = { | 2319 | static int vcs[] = {CS_GRAPHIC0, CS_USA}; |
2320 | {'0', CS_GRAPHIC0}, {'B', CS_USA}, | 2320 | char *p; |
2321 | {0, 0} | ||
2322 | }; | ||
2323 | |||
2324 | for (bp = &tbl[0]; (c = (*bp)[0]) && c != ascii; ++bp) | ||
2325 | /* nothing */; | ||
2326 | 2321 | ||
2327 | if (c == 0) | 2322 | if((p = strchr(cs, ascii)) == NULL) |
2328 | fprintf(stderr, "esc unhandled charset: ESC ( %c\n", ascii); | 2323 | fprintf(stderr, "esc unhandled charset: ESC ( %c\n", ascii); |
2329 | else | 2324 | else |
2330 | term.trantbl[term.icharset] = (*bp)[1]; | 2325 | term.trantbl[term.icharset] = vcs[p - cs]; |
2331 | } | 2326 | } |
2332 | 2327 | ||
2333 | void | 2328 | void |