tm_ensure_range(val,0,0x7f,"Reverb level") { 
if (set_value(&val, val, 0, 0x7f, "Reverb level")) return false; 
static inline bool parse_opt_222(const char* const arg){    /* --reverb */    const char* lv;    if(isdigit(arg[0])) {	opt_reverb_control = atoi(arg);    }    else if(strncasecmp("no",arg,2)) {	opt_reverb_control = 0;	return true;    }    else if(strncasecmp("standard",arg,8) || strncasecmp("std",arg,3)) {	opt_reverb_control = 1;    }    else if(strncasecmp("global",arg,6)) {	opt_reverb_control = 2;	return true;    }    else if(strncasecmp("new",arg,3) || strncasecmp("freeverb",arg,8)) {	opt_reverb_control = 3;	return true;    }    else if(strncasecmp("pseudo",arg,6)) {	/* I think pseudo reverb can now be retired... Computers are	 * enough fast to do a full reverb, don't they? */	modify_release = DEFAULT_MREL;    }    else {	/* reaching here indicates arg is inalid. */	ctl->cmsg(CMSG_ERROR, VERB_NORMAL,		  "Invalid reverb parameter.");	return false;    }    if(lv = strchr(arg,',')) {	int val = atoi(lv);	if(arg[0] == 'p' || arg[0] == 'P') {	    tm_ensure_range(val,0,MAX_MREL,"Modify release") {		modify_release = val;	    }	}	else {	    tm_ensure_range(val,0,0x7f,"Reverb level") {		opt_reverb_control = -val;	    }	}    }    return true;}
4357	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4357/a8c3cff15fccc9bab4b41cc589cf62d121a9c79d/timidity.c/buggy/timidity/timidity.c