From: Roberto E. Vargas Caballero Date: Fri, 31 Jan 2014 16:04:18 +0000 (+0100) Subject: Remove duplicated code in strhandle X-Git-Url: https://git.danieliu.xyz/?a=commitdiff_plain;h=a8d5870073af14aa08032ab8520c5fe17bb8a1e8;p=st.git 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. --- diff --git a/st.c b/st.c index 21afb52..c59bf1d 100644 --- 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