Fixing a bug while parsing empty arguments in csiparse.
authorChristoph Lohmann <20h@r-36.net>
Tue, 26 Feb 2013 18:07:23 +0000 (19:07 +0100)
committerChristoph Lohmann <20h@r-36.net>
Tue, 26 Feb 2013 18:07:23 +0000 (19:07 +0100)
st.c

diff --git a/st.c b/st.c
index 9f5793c..83fdc6d 100644 (file)
--- a/st.c
+++ b/st.c
@@ -1295,7 +1295,6 @@ tnewline(int first_col) {
 
 void
 csiparse(void) {
-       /* int noarg = 1; */
        char *p = csiescseq.buf, *np;
        long int v;
 
@@ -1306,9 +1305,10 @@ csiparse(void) {
        }
 
        while(p < csiescseq.buf+csiescseq.len) {
+               np = NULL;
                v = strtol(p, &np, 10);
                if(np == p)
-                       break;
+                       v = 0;
                if(v == LONG_MAX || v == LONG_MIN)
                        v = -1;
                csiescseq.arg[csiescseq.narg++] = v;