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.master
parent
8c99915608
commit
902a392b90
29
st.c
29
st.c
|
@ -2490,22 +2490,22 @@ csidump(void)
|
|||
int i;
|
||||
uint c;
|
||||
|
||||
printf("ESC[");
|
||||
fprintf(stderr, "ESC[");
|
||||
for (i = 0; i < csiescseq.len; i++) {
|
||||
c = csiescseq.buf[i] & 0xff;
|
||||
if (isprint(c)) {
|
||||
putchar(c);
|
||||
putc(c, stderr);
|
||||
} else if (c == '\n') {
|
||||
printf("(\\n)");
|
||||
fprintf(stderr, "(\\n)");
|
||||
} else if (c == '\r') {
|
||||
printf("(\\r)");
|
||||
fprintf(stderr, "(\\r)");
|
||||
} else if (c == 0x1b) {
|
||||
printf("(\\e)");
|
||||
fprintf(stderr, "(\\e)");
|
||||
} else {
|
||||
printf("(%02x)", c);
|
||||
fprintf(stderr, "(%02x)", c);
|
||||
}
|
||||
}
|
||||
putchar('\n');
|
||||
putc('\n', stderr);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -2594,24 +2594,25 @@ strdump(void)
|
|||
int i;
|
||||
uint c;
|
||||
|
||||
printf("ESC%c", strescseq.type);
|
||||
fprintf(stderr, "ESC%c", strescseq.type);
|
||||
for (i = 0; i < strescseq.len; i++) {
|
||||
c = strescseq.buf[i] & 0xff;
|
||||
if (c == '\0') {
|
||||
putc('\n', stderr);
|
||||
return;
|
||||
} else if (isprint(c)) {
|
||||
putchar(c);
|
||||
putc(c, stderr);
|
||||
} else if (c == '\n') {
|
||||
printf("(\\n)");
|
||||
fprintf(stderr, "(\\n)");
|
||||
} else if (c == '\r') {
|
||||
printf("(\\r)");
|
||||
fprintf(stderr, "(\\r)");
|
||||
} else if (c == 0x1b) {
|
||||
printf("(\\e)");
|
||||
fprintf(stderr, "(\\e)");
|
||||
} else {
|
||||
printf("(%02x)", c);
|
||||
fprintf(stderr, "(%02x)", c);
|
||||
}
|
||||
}
|
||||
printf("ESC\\\n");
|
||||
fprintf(stderr, "ESC\\\n");
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Reference in New Issue