Make strdump(), csidump(), print to stderr

The two functions strdump(), csidump() are called to show errors and
their output is introduced by a message printed to stderr. Thus, it it
more consistent to have them print to stderr.

Moreover stderr is unbuffered (at least on Linux), making problems
immediately visible.
This commit is contained in:
pl@ninthfloor.org authored and Roberto E. Vargas Caballero committed 2016-11-14 18:36:38 +01:00
1 parent 8c99915608
commit 902a392b90
1 file changed
+15 -14
+15 -14
View File
@@ -2490,22 +2490,22 @@ csidump(void)
int i; int i;
uint c; uint c;
printf("ESC["); fprintf(stderr, "ESC[");
for (i = 0; i < csiescseq.len; i++) { for (i = 0; i < csiescseq.len; i++) {
c = csiescseq.buf[i] & 0xff; c = csiescseq.buf[i] & 0xff;
if (isprint(c)) { if (isprint(c)) {
putchar(c); putc(c, stderr);
} else if (c == '\n') { } else if (c == '\n') {
printf("(\\n)"); fprintf(stderr, "(\\n)");
} else if (c == '\r') { } else if (c == '\r') {
printf("(\\r)"); fprintf(stderr, "(\\r)");
} else if (c == 0x1b) { } else if (c == 0x1b) {
printf("(\\e)"); fprintf(stderr, "(\\e)");
} else { } else {
printf("(%02x)", c); fprintf(stderr, "(%02x)", c);
} }
} }
putchar('\n'); putc('\n', stderr);
} }
void void
@@ -2594,24 +2594,25 @@ strdump(void)
int i; int i;
uint c; uint c;
printf("ESC%c", strescseq.type); fprintf(stderr, "ESC%c", strescseq.type);
for (i = 0; i < strescseq.len; i++) { for (i = 0; i < strescseq.len; i++) {
c = strescseq.buf[i] & 0xff; c = strescseq.buf[i] & 0xff;
if (c == '\0') { if (c == '\0') {
putc('\n', stderr);
return; return;
} else if (isprint(c)) { } else if (isprint(c)) {
putchar(c); putc(c, stderr);
} else if (c == '\n') { } else if (c == '\n') {
printf("(\\n)"); fprintf(stderr, "(\\n)");
} else if (c == '\r') { } else if (c == '\r') {
printf("(\\r)"); fprintf(stderr, "(\\r)");
} else if (c == 0x1b) { } else if (c == 0x1b) {
printf("(\\e)"); fprintf(stderr, "(\\e)");
} else { } else {
printf("(%02x)", c); fprintf(stderr, "(%02x)", c);
} }
} }
printf("ESC\\\n"); fprintf(stderr, "ESC\\\n");
} }
void void