diff options
author | pl@ninthfloor.org <pl@ninthfloor.org> | 2016-11-11 17:45:52 +0100 |
---|---|---|
committer | Roberto E. Vargas Caballero <k0ga@shike2.com> | 2016-11-14 18:36:38 +0100 |
commit | 902a392b905107c7b8a318c103837c54e47a068e (patch) | |
tree | 0054abef4993d7a5b2a6d419113c111a084f99b3 | |
parent | 8c99915608beee03eca3bae6ed92264a0da87e2f (diff) | |
download | st-902a392b905107c7b8a318c103837c54e47a068e.tar.gz |
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.
-rw-r--r-- | st.c | 29 |
1 files changed, 15 insertions, 14 deletions
@@ -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 |