char *
xstrdup(char *s) {
- char *p = strdup(s);
-
- if (!p)
+ if((s = strdup(s)) == NULL)
die("Out of memory\n");
- return p;
+ return s;
}
size_t
* The table is proudly stolen from rxvt.
*/
if(attr->mode & ATTR_GFX) {
- if(c[0] >= 0x41 && c[0] <= 0x7e
- && vt100_0[c[0] - 0x41]) {
+ if(BETWEEN(c[0], 0x41, 0x7e) && vt100_0[c[0] - 0x41]) {
c = vt100_0[c[0] - 0x41];
}
}
for(; len > 0; buf++, len--) {
char c = *buf;
- if(c < '\x20') { /* control code */
+ if(c < 0x20 || c == 0177) { /* control code */
if(c != '\n' && c != '\r' && c != '\t') {
- c |= '\x40';
+ c ^= '\x40';
tputc("^", 1);
}
tputc(&c, 1);