aboutsummaryrefslogtreecommitdiffstats
path: root/st.c
diff options
context:
space:
mode:
authorpl@ninthfloor.org <pl@ninthfloor.org>2016-11-11 17:45:52 +0100
committerRoberto E. Vargas Caballero <k0ga@shike2.com>2016-11-14 18:36:38 +0100
commit902a392b905107c7b8a318c103837c54e47a068e (patch)
tree0054abef4993d7a5b2a6d419113c111a084f99b3 /st.c
parent8c99915608beee03eca3bae6ed92264a0da87e2f (diff)
downloadst-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.
Diffstat (limited to 'st.c')
-rw-r--r--st.c29
1 files changed, 15 insertions, 14 deletions
diff --git a/st.c b/st.c
index 4d44388..0980082 100644
--- a/st.c
+++ b/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
remember that computers suck.