tRemove duplicated code in strhandle - st - [fork] customized build of st, the … | |
git clone git://src.adamsgaard.dk/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit a8d5870073af14aa08032ab8520c5fe17bb8a1e8 | |
parent 21d905c076735783b41eec55f31d933129fd9f22 | |
Author: Roberto E. Vargas Caballero <[email protected]> | |
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: | |
M st.c | 24 ++++++++++-------------- | |
1 file changed, 10 insertions(+), 14 deletions(-) | |
--- | |
diff --git a/st.c b/st.c | |
t@@ -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; | |
t@@ -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 |