*** hqx.c Mon Mar 9 21:36:57 1992 --- n.hqx.c Mon Mar 9 22:07:53 1992 *************** *** 108,114 **** void hqx(macname) char *macname; { ! int n, normlen; register char *in, *out; register int b6, b8, data, lastc = 0; char state68 = 0, run = 0, linestate, first = 1; --- 108,114 ---- void hqx(macname) char *macname; { ! int n, normlen, c; register char *in, *out; register int b6, b8, data, lastc = 0; char state68 = 0, run = 0, linestate, first = 1; *************** *** 136,141 **** --- 136,148 ---- if((linestate = lookup[*in & 0xff]) == FAIL || ((linestate == DONE) && !first)) { break; + } + } + if(linestate != FAIL && n != normlen && linestate != DONE) { + c = fgetc(ifp); + (void)ungetc(c, ifp); + if(lookup[c] == DONE) { + linestate = DONE; } } if(linestate == FAIL || (n != normlen && linestate != DONE)) {