rem: memcpy(buf+fix_len,"Warning: 392 ",13); fix_len +=13;
add: memcpy(buf+fix_len,WARNING, WARNING_LEN); fix_len +=WARNING_LEN;
context: char * warning_builder( struct sip_msg *msg, unsigned int *returned_len){	static char buf[MAX_WARNING_LEN];	static unsigned int fix_len=0;	str *foo;	int print_len;	if (!fix_len)	{		memcpy(buf+fix_len,"Warning: 392 ",13);		fix_len +=13;		memcpy(buf+fix_len, bind_address->name.s,bind_address->name.len);		fix_len += bind_address->name.len;		//*(buf+fix_len++) = ':';		memcpy(buf+fix_len,bind_address->port_no_str.s,			bind_address->port_no_str.len);		fix_len += bind_address->port_no_str.len;		memcpy(buf+fix_len, " \"Noisy feedback tells: ",24);		fix_len += 24;	}	/*adding out_uri*/	if (msg->new_uri.s)		foo=&(msg->new_uri);	else		foo=&(msg->first_line.u.request.uri);	print_len=snprintf(buf+fix_len, MAX_WARNING_LEN-fix_len,		"pid=%d req_src_ip=%s in_uri=%.*s out_uri=%.*s via_cnt%c=%d\"",		my_pid(),		ip_addr2a(&msg->rcv.src_ip),		msg->first_line.u.request.uri.len, msg->first_line.u.request.uri.s,		foo->len, foo->s, 		msg->parsed_flag & HDR_EOH ? '=' : '>', /* should be = */		via_cnt );	if (print_len==-1) {		*returned_len=0;		return 0;	} else {		*returned_len=fix_len+print_len;		return buf;	}}