rem: return -1;
add: LOG(L_ERR, "XLOG: exit background\n"); return xl_get_empty(msg, res, hp, hi);
context: static int xl_get_color(struct sip_msg *msg, str *res, str *hp, int hi){	static char color[COL_BUF];	char* p;	char* end;	p = color;	end = p + COL_BUF;        	/* excape sequenz */	append_sstring(p, end, "\033[");        	if(hp->s[0]!='_')	{		if (islower(hp->s[0]))		{			/* normal font */			append_sstring(p, end, "0;");		} else {			/* bold font */			append_sstring(p, end, "1;");			hp->s[0] += 32;		}	}         	/* foreground */	switch(hp->s[0])	{		case 'x':			append_sstring(p, end, "39;");		break;		case 's':			append_sstring(p, end, "30;");		break;		case 'r':			append_sstring(p, end, "31;");		break;		case 'g':			append_sstring(p, end, "32;");		break;		case 'y':			append_sstring(p, end, "33;");		break;		case 'b':			append_sstring(p, end, "34;");		break;		case 'p':			append_sstring(p, end, "35;");		break;		case 'c':			append_sstring(p, end, "36;");		break;		case 'w':			append_sstring(p, end, "37;");		break;		default:			LOG(L_ERR, "XLOG: exit foreground\n");			return xl_get_empty(msg, res, hp, hi);	}         	/* background */	switch(hp->s[1])	{		case 'x':			append_sstring(p, end, "49");		break;		case 's':			append_sstring(p, end, "40");		break;		case 'r':			append_sstring(p, end, "41");		break;		case 'g':			append_sstring(p, end, "42");		break;		case 'y':			append_sstring(p, end, "43");		break;		case 'b':			append_sstring(p, end, "44");		break;		case 'p':			append_sstring(p, end, "45");		break;		case 'c':			append_sstring(p, end, "46");		break;		case 'w':			append_sstring(p, end, "47");		break;		default:			return -1;	}	/* end */	append_sstring(p, end, "m");	res->s = color;	res->len = p-color;	return 0;error:	return -1;}