changeset 10056:88c855a174f3

Added some special-case code for checking for "sip:" URLs (because they don't include a "//" like other URLs).
author rsf
date Sat, 03 May 2003 06:16:07 +0000
parents 2e6d63e564f2
children d1f55b76ef2c
files libmpdemux/url.c
diffstat 1 files changed, 12 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/libmpdemux/url.c	Sat May 03 06:14:04 2003 +0000
+++ b/libmpdemux/url.c	Sat May 03 06:16:07 2003 +0000
@@ -17,6 +17,7 @@
 	int pos1, pos2;
 	URL_t* Curl;
 	char *ptr1=NULL, *ptr2=NULL, *ptr3=NULL;
+	int jumpSize = 3;
 
 	if( url==NULL ) return NULL;
 	
@@ -40,9 +41,15 @@
 	// extract the protocol
 	ptr1 = strstr(url, "://");
 	if( ptr1==NULL ) {
-		mp_msg(MSGT_NETWORK,MSGL_V,"Not an URL!\n");
-		url_free(Curl);
-		return NULL;
+	        // Check for a special case: "sip:" (without "//"):
+	        if (strstr(url, "sip:") == url) {
+		        ptr1 = &url[3]; // points to ':'
+			jumpSize = 1;
+		} else {
+		        mp_msg(MSGT_NETWORK,MSGL_V,"Not an URL!\n");
+		        url_free(Curl);
+			return NULL;
+		}
 	}
 	pos1 = ptr1-url;
 	Curl->protocol = (char*)malloc(pos1+1);
@@ -55,8 +62,8 @@
 	Curl->protocol[pos1] = '\0';
 
 	// jump the "://"
-	ptr1 += 3;
-	pos1 += 3;
+	ptr1 += jumpSize;
+	pos1 += jumpSize;
 
 	// check if a username:password is given
 	ptr2 = strstr(ptr1, "@");