add: uri.s=0;  uri.len=0;
context: decode_contact (struct sip_msg *msg,char *unused1,char *unused2){	str uri;	str newUri;	char separator;	int res;		#ifdef DEBUG	fprintf (stdout,"---START--------DECODE CONTACT-----------------\n");        fprintf (stdout,"%.*s\n",50,msg->buf);	fprintf (stdout, "INITIAL.s=[%.*s]\n", uri.len, uri.s);#endif	separator = DEFAULT_SEPARATOR[0];	if (contact_flds_separator != NULL)		if (strlen(contact_flds_separator)>=1)			separator = contact_flds_separator[0];			if ((msg->new_uri.s == NULL) || (msg->new_uri.len == 0))		{		uri = msg->first_line.u.request.uri;		if (uri.s == NULL) return -1;		}			res = decode_uri (uri, separator, &newUri);	#ifdef DEBUG		if (res == 0) fprintf (stdout, "newuri.s=[%.*s]\n", newUri.len, newUri.s);#endif		if (res != 0)		{			LOG (L_ERR,"ERROR: decode_contact:Failed decoding contact.Code %d\n", res);#ifdef STRICT_CHECK				return res;#endif		}		else			/* we do not modify the original first line */			if ((msg->new_uri.s == NULL) || (msg->new_uri.len == 0)) msg->new_uri = newUri;				else					{						pkg_free(msg->new_uri.s);						msg->new_uri = newUri;					}								/*		if (patch (msg, uri.s, uri.len, newUri.s, newUri.len) < 0)		{			LOG (L_ERR,"ERROR: decode_contact:lumping failed in mangling port \n");			return -2;		}		*/	return 1;}