[Freeswitch-branches] [commit] r13575 - freeswitch/branches/brian/trunk/src/mod/endpoints/mod_sofia
Author: brian Date: Wed Jun 3 11:35:08 2009 New Revision: 13575 Log: cleanup by mike and bkw Modified: freeswitch/branches/brian/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c freeswitch/branches/brian/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c Modified: freeswitch/branches/brian/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c ============================================================================== --- freeswitch/branches/brian/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c (original) +++ freeswitch/branches/brian/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c Wed Jun 3 11:35:08 2009 @@ -2550,7 +2550,6 @@ if (!strncasecmp(profile_name, "gateway", 7)) { char *gw, *params; sofia_gateway_t *gateway_ptr = NULL; - char *dup_dest = NULL, *dest_host, *dest_user; if (!(gw = strchr(profile_name, '/'))) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid URL\n"); @@ -2633,12 +2632,6 @@ tech_pvt->invite_contact = switch_core_session_strdup(nsession, gateway_ptr->register_contact); } - dup_dest = strdup(dest); - switch_assert(dup_dest != NULL); - sofia_glue_get_user_host(dup_dest, &dest_user, &dest_host); - tech_pvt->remote_ip = switch_core_session_sprintf(nsession, "%s", dest_host); - switch_safe_free(dup_dest); - gateway_ptr->ob_calls++; if (gateway_ptr->ob_vars) { @@ -2651,8 +2644,6 @@ } } else { - char *dup_dest = NULL, *dest_host, *dest_user; - if (!(dest = strchr(profile_name, '/'))) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid URL\n"); cause = SWITCH_CAUSE_INVALID_NUMBER_FORMAT; @@ -2670,12 +2661,6 @@ profile_name = profile->domain_name; } - dup_dest = strdup(dest); - switch_assert(dup_dest != NULL); - sofia_glue_get_user_host(dup_dest, &dest_user, &dest_host); - tech_pvt->remote_ip = switch_core_session_sprintf(nsession, "%s", dest_host); - switch_safe_free(dup_dest); - if (!strncasecmp(dest, "sip:", 4) || !strncasecmp(dest, "sips:", 5)) { tech_pvt->dest = switch_core_session_strdup(nsession, dest); } else if ((host = strchr(dest, '%'))) { @@ -2711,6 +2696,8 @@ } } + sofia_glue_get_user_host(switch_core_session_strdup(nsession, tech_pvt->dest), NULL, &tech_pvt->remote_ip); + if (dest_to) { if (strchr(dest_to, '@')) { tech_pvt->dest_to = switch_core_session_sprintf(nsession, "sip:%s", dest_to); Modified: freeswitch/branches/brian/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c ============================================================================== --- freeswitch/branches/brian/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c (original) +++ freeswitch/branches/brian/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c Wed Jun 3 11:35:08 2009 @@ -4038,7 +4038,10 @@ { char *p, *h, *u = in; - *user = NULL; + if (user) { + *user = NULL; + } + *host = NULL; /* First isolate the host part from the user part */ @@ -4049,7 +4052,7 @@ } /* Clean out the user part of its protocol prefix (if any) */ - if ((p = strchr(u, ':'))) { + if (user && (p = strchr(u, ':'))) { *p++ = '\0'; u = p; } @@ -4067,7 +4070,10 @@ *p = '\0'; } + if (user) { *user = u; + } + *host = h; return 1;
participants (1)
-
FreeSWITCH SVN