diff --git a/coreapi/proxy.c b/coreapi/proxy.c index 4569f75f5f9c18357bbe05a656087ba6ddc09be9..26a2eb7f8787748a444b16891c9bafc462755a65 100644 --- a/coreapi/proxy.c +++ b/coreapi/proxy.c @@ -948,17 +948,13 @@ bool_t linphone_proxy_config_normalize_number(LinphoneProxyConfig *inproxy, cons if (linphone_proxy_config_is_phone_number(proxy, username)){ dial_plan_t dialplan = {0}; char *flatten=flatten_number(username); - bool_t dialplan_found = FALSE; ms_debug("Flattened number is '%s'",flatten); /*username does not contain a dial prefix nor the proxy, nothing else to do*/ if (proxy->dial_prefix==NULL || proxy->dial_prefix[0]=='\0'){ strncpy(result,flatten,result_len-1); } else { - dialplan_found = lookup_dial_plan_by_ccc(proxy->dial_prefix,&dialplan); - } - - if (dialplan_found) { + lookup_dial_plan_by_ccc(proxy->dial_prefix,&dialplan); ms_debug("Using dial plan '%s'",dialplan.country); /* the number has international prefix or +, so nothing to do*/ if (flatten[0]=='+'){ @@ -1000,6 +996,7 @@ bool_t linphone_proxy_config_normalize_number(LinphoneProxyConfig *inproxy, cons strncpy(result+i,flatten+skip,result_len-i-1); } } + ms_free(flatten); ret = TRUE; } else { diff --git a/tester/proxy_config_tester.c b/tester/proxy_config_tester.c index c60989cb39c56f2f6701dc76394ef375a57a838b..15b1a07975c693a8c85fac8ed7a10fdf3f82412c 100644 --- a/tester/proxy_config_tester.c +++ b/tester/proxy_config_tester.c @@ -51,6 +51,12 @@ static void phone_normalization_with_proxy() { BC_ASSERT_STRING_EQUAL(phone_normalization(proxy, "01 2345678"), "+33012345678"); BC_ASSERT_STRING_EQUAL(phone_normalization(proxy, "01234567891"), "+33234567891"); // invalid phone number (too long) BC_ASSERT_STRING_EQUAL(phone_normalization(proxy, "I_AM_NOT_A_NUMBER"), "I_AM_NOT_A_NUMBER"); // invalid phone number + + BC_ASSERT_STRING_EQUAL(phone_normalization(proxy, "+990012345678"), "+990012345678"); + + linphone_proxy_config_set_dial_prefix(proxy, "99"); + BC_ASSERT_STRING_EQUAL(phone_normalization(proxy, "0012345678"), "+12345678"); + linphone_proxy_config_destroy(proxy); }