From 902c241fffc98081753d21fd692cfa001bed8731 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Tue, 23 Mar 2010 09:47:44 +0100 Subject: [PATCH] allow to set server address without sip: --- coreapi/proxy.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/coreapi/proxy.c b/coreapi/proxy.c index d31046b80..e9aadd6c0 100644 --- a/coreapi/proxy.c +++ b/coreapi/proxy.c @@ -90,10 +90,20 @@ bool_t linphone_proxy_config_is_registered(const LinphoneProxyConfig *obj){ **/ int linphone_proxy_config_set_server_addr(LinphoneProxyConfig *obj, const char *server_addr){ LinphoneAddress *addr; + if (obj->reg_proxy!=NULL) ms_free(obj->reg_proxy); obj->reg_proxy=NULL; + if (server_addr!=NULL && strlen(server_addr)>0){ addr=linphone_address_new(server_addr); + if (!addr){ + /*try to prepend 'sip:' */ + if (strstr(server_addr,"sip:")==NULL){ + char *try=ms_strdup_printf("sip:%s",server_addr); + addr=linphone_address_new(try); + ms_free(try); + } + } if (addr){ obj->reg_proxy=ms_strdup(server_addr); linphone_address_destroy(addr); @@ -243,7 +253,7 @@ void linphone_proxy_config_set_dial_prefix(LinphoneProxyConfig *cfg, const char ms_free(cfg->dial_prefix); cfg->dial_prefix=NULL; } - if (prefix) cfg->dial_prefix=ms_strdup(prefix); + if (prefix && prefix[0]!='\0') cfg->dial_prefix=ms_strdup(prefix); } /**