*probe_host++ = '\0';
}
probe_euser = probe_user;
- if ((p = strchr(probe_euser, '+'))) {
+ if ((p = strchr(probe_euser, '+')) && p != probe_euser) {
probe_euser = (p + 1);
}
*probe_host++ = '\0';
}
probe_euser = probe_user;
- if ((p = strchr(probe_euser, '+'))) {
+ if ((p = strchr(probe_euser, '+')) && p != probe_euser) {
probe_euser = (p + 1);
}
switch_safe_free(user);
goto done;
}
- if ((euser = strchr(user, '+'))) {
+ if ((euser = strchr(user, '+')) && euser != user) {
euser++;
} else {
euser = user;
char to_tag[13] = "";
char buf[80] = "";
char *orig_to_user = NULL;
+ char *p;
if (!sip) {
return;
orig_to_user = su_strdup(nua_handle_home(nh), to_user);
- if (to_user && strchr(to_user, '+')) {
+ if (to_user && (p = strchr(to_user, '+')) && p != to_user) {
char *h;
if ((proto = (d_user = strdup(to_user)))) {
if ((my_to_user = strchr(d_user, '+'))) {
full_from = sip_header_as_string(nh->nh_home, (void *) sip->sip_from);
- if ((p = strchr(to_user, '+'))) {
+ if ((p = strchr(to_user, '+')) && p != to_user) {
switch_copy_string(proto, to_user, sizeof(proto));
p = strchr(proto, '+');
*p++ = '\0';