]> sjero.net Git - linphone/commitdiff
allow to set server address without sip:
authorSimon Morlat <simon.morlat@linphone.org>
Tue, 23 Mar 2010 08:47:44 +0000 (09:47 +0100)
committerSimon Morlat <simon.morlat@linphone.org>
Tue, 23 Mar 2010 08:47:44 +0000 (09:47 +0100)
coreapi/proxy.c

index d31046b80b7e35df6fb941e71162eeba1bd51e7c..e9aadd6c0be25da74c9d9bbcad78cccd39afd5b6 100644 (file)
@@ -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);
 }
 
 /**