diff options
| -rw-r--r-- | st.c | 5 | 
1 files changed, 4 insertions, 1 deletions
@@ -1132,6 +1132,7 @@ csiparse(void)  {  	char *p = csiescseq.buf, *np;  	long int v; +	int sep = ';'; /* colon or semi-colon, but not both */  	csiescseq.narg = 0;  	if (*p == '?') { @@ -1149,7 +1150,9 @@ csiparse(void)  			v = -1;  		csiescseq.arg[csiescseq.narg++] = v;  		p = np; -		if (*p != ';' || csiescseq.narg == ESC_ARG_SIZ) +		if (sep == ';' && *p == ':') +			sep = ':'; /* allow override to colon once */ +		if (*p != sep || csiescseq.narg == ESC_ARG_SIZ)  			break;  		p++;  	}  | 
