rem: uri->host.len - do_strip*cpl_env.realm_prefix.len + 1;
add: uri->host.len - do_strip*cpl_env.realm_prefix.len;
context: static inline int build_userhost(struct sip_uri *uri, str *uh, int flg){	static char buf[MAX_USERHOST_LEN];	unsigned char do_strip;	char *p;	int i;	/* do we need to strip realm prefix? */	do_strip = 0;	if (cpl_env.realm_prefix.len && cpl_env.realm_prefix.len<uri->host.len) {		for( i=cpl_env.realm_prefix.len-1 ; i>=0 ; i-- )			if ( cpl_env.realm_prefix.s[i]!=((uri->host.s[i])|(0x20)) )				break;		if (i==-1)			do_strip = 1;	}	/* calculate the len */	uh->len = 4*((flg&BUILD_UH_ADDSIP)!=0) + uri->user.len + 1 +		uri->host.len - do_strip*cpl_env.realm_prefix.len + 1;	if (flg&BUILD_UH_SHM) {		uh->s = (char*)shm_malloc( uh->len );		if (!uh->s) {			LOG(L_ERR,"ERROR:cpl-c:build_userhost: no more shm memory.\n");			return -1;		}	} else {		uh->s = buf;		if ( uh->len > MAX_USERHOST_LEN ) {			LOG(L_ERR,"ERROR:cpl-c:build_userhost: user+host longer than %d\n",				MAX_USERHOST_LEN);			return -1;		}	}	/* build user@host */	p = uh->s;	if (flg&BUILD_UH_ADDSIP) {		memcpy( uh->s, "sip:", 4);		p += 4;	}	/* user part */	if (cpl_env.case_sensitive) {		memcpy( p, uri->user.s, uri->user.len);		p += uri->user.len;	} else {		for(i=0;i<uri->user.len;i++)			*(p++) = (0x20)|(uri->user.s[i]);	}	*(p++) = '@';	/* host part in lower cases */	for( i=do_strip*cpl_env.realm_prefix.len ; i< uri->host.len ; i++ )		*(p++) = (0x20)|(uri->host.s[i]);	*(p++) = 0;	/* sanity check */	if (p-uh->s!=uh->len) {		LOG(L_CRIT,"BUG:cpl-c:build_userhost: buffer overflow l=%d,w=%d\n",			uh->len,p-uh->s);		return -1;	}	return 0;}