rewrite csidump(). - st - Simple Terminal
       
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit cb2e0e9c31a510cd6cdbbd3b0da231157a975d95
 (DIR) parent 53ac69e90d95e52dedf99129e39a993d45c812ea
 (HTM) Author: Aurélien Aptel <aurelien.aptel@gmail.com>
       Date:   Thu, 16 Feb 2012 00:58:16 +0100
       
       rewrite csidump().
       
       Diffstat:
         st.c                                |      13 +++++++++++--
       
       1 file changed, 11 insertions(+), 2 deletions(-)
       ---
 (DIR) diff --git 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