# st

Unnamed repository; edit this file 'description' to name the repository.

| Log | Files | Refs | README | LICENSE

    commit a8d5870073af14aa08032ab8520c5fe17bb8a1e8
    parent 21d905c076735783b41eec55f31d933129fd9f22
    Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
    Date:   Fri, 31 Jan 2014 17:04:18 +0100

    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.

    Diffstat:
    Mst.c | 24++++++++++--------------

    1 file changed, 10 insertions(+), 14 deletions(-)
    diff --git a/st.c b/st.c
    @@ -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