diff options
| author | Roberto E. Vargas Caballero <k0ga@shike2.com> | 2014-01-31 17:04:18 +0100 | 
|---|---|---|
| committer | Roberto E. Vargas Caballero <k0ga@shike2.com> | 2014-02-02 19:42:01 +0100 | 
| commit | a8d5870073af14aa08032ab8520c5fe17bb8a1e8 (patch) | |
| tree | 2049ab201b85e13af9e9d9e2092175732f359d9c | |
| parent | 21d905c076735783b41eec55f31d933129fd9f22 (diff) | |
| download | st-a8d5870073af14aa08032ab8520c5fe17bb8a1e8.tar.xz st-a8d5870073af14aa08032ab8520c5fe17bb8a1e8.zip  | |
Remove duplicated code in strhandle
The error condition was duplicated in two different switches.
This new version centralized the error handling in only one place.
| -rw-r--r-- | st.c | 24 | 
1 files changed, 10 insertions, 14 deletions
@@ -2152,20 +2152,21 @@ csireset(void) {  void  strhandle(void) {  	char *p = NULL; -	int i, j, narg; +	int j, narg, par;  	strparse();  	narg = strescseq.narg; +	par = atoi(strescseq.args[0]);  	switch(strescseq.type) {  	case ']': /* OSC -- Operating System Command */ -		switch(i = atoi(strescseq.args[0])) { +		switch(par) {  		case 0:  		case 1:  		case 2:  			if(narg > 1)  				xsettitle(strescseq.args[1]); -			break; +			return;  		case 4: /* color set */  			if(narg < 3)  				break; @@ -2182,25 +2183,20 @@ strhandle(void) {  				 */  				redraw(0);  			} -			break; -		default: -			fprintf(stderr, "erresc: unknown str "); -			strdump(); -			break; +			return;  		}  		break;  	case 'k': /* old title set compatibility */  		xsettitle(strescseq.args[0]); -		break; +		return;  	case 'P': /* DSC -- Device Control String */  	case '_': /* APC -- Application Program Command */  	case '^': /* PM -- Privacy Message */ -	default: -		fprintf(stderr, "erresc: unknown str "); -		strdump(); -		/* die(""); */ -		break; +		return;  	} + +	fprintf(stderr, "erresc: unknown str "); +	strdump();  }  void  | 
