if (!in)
if (!in || !*in)
static char *mungestr(const char *in){    char *out, *ret;    if (!in)        in = "Default Settings";    ret = out = snewn(3*strlen(in)+1, char);    while (*in) {        /*         * There are remarkably few punctuation characters that         * aren't shell-special in some way or likely to be used as         * separators in some file format or another! Hence we use         * opt-in for safe characters rather than opt-out for         * specific unsafe ones...         */	if (*in!='+' && *in!='-' && *in!='.' && *in!='@' && *in!='_' &&            !(*in >= '0' && *in <= '9') &&            !(*in >= 'A' && *in <= 'Z') &&            !(*in >= 'a' && *in <= 'z')) {	    *out++ = '%';	    *out++ = hex[((unsigned char) *in) >> 4];	    *out++ = hex[((unsigned char) *in) & 15];	} else	    *out++ = *in;	in++;    }    *out = '\0';    return ret;}