Unlike the insp_mkrow_raw function the insp_mkrow_utf8
routine is not equipped to print non-ctl, non-printing
characters like '<7f>'. However, technically that very
value currently slips through the cracks. So with this
patch top will now print a space in the unlikely event
a character with the value of 127 is ever encountered.
Signed-off-by: Jim Warner <james.warner@comcast.net>
#define mkCTL { if ((to += 2) <= Screen_cols) \
PUTT("%s^%c%s", Curwin->capclr_msg, uch + '@', Caps_off); }
#endif
+ #define mkNUL { buf1[0] = ' '; doPUT(buf1) }
#define doPUT(buf) if (++to <= Screen_cols) putp(buf);
static char buf1[2], buf2[3], buf3[4], buf4[5];
char tline[BIGBUFSIZ];
case 1:
if (uch == '\n') break;
else if (uch < 32) mkCTL
+ else if (uch == 127) mkNUL
else { buf1[0] = uch; doPUT(buf1) }
break;
case 2:
doPUT(buf4)
break;
default:
- buf1[0] = ' ';
- doPUT(buf1)
+ mkNUL
break;
}
} else {
#undef maxSZ
#undef mkFND
#undef mkCTL
+ #undef mkNUL
#undef doPUT
} // end: insp_mkrow_utf8