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:
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
|
||||
|
|
Loading…
Reference in a new issue