From: Aurélien Aptel Date: Wed, 15 Feb 2012 23:58:16 +0000 (+0100) Subject: rewrite csidump(). X-Git-Url: https://git.danieliu.xyz/?a=commitdiff_plain;h=cb2e0e9c31a510cd6cdbbd3b0da231157a975d95;p=st.git rewrite csidump(). --- diff --git a/st.c b/st.c index 89d123c..3b7eb78 100644 --- a/st.c +++ b/st.c @@ -1387,8 +1387,17 @@ csihandle(void) { void csidump(void) { - fwrite("\033[", 1, 2, stdout); - fwrite(escseq.buf, 1, escseq.len, stdout); + int i; + fwrite("ESC[", 1, 4, stdout); + for(i = 0; i < escseq.len; i++) { + uint c = escseq.buf[i] & 0xff; + if(isprint(c)) putchar(c); + else if(c == '\n') printf("(\\n)"); + else if(c == '\r') printf("(\\r)"); + else if(c == 0x1b) printf("(\\e)"); + else printf("(%02x)", c); + } + putchar('\n'); } void