diff options
author | bertrand <bertrand@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-05-20 12:42:14 +0000 |
---|---|---|
committer | bertrand <bertrand@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-05-20 12:42:14 +0000 |
commit | fffaf83e4b3397dcef2f984b365541b9ed7752d7 (patch) | |
tree | 24513ebebea0429f0d004dc3195f22d6c5ab8418 | |
parent | 7b48f8d38ef25cd1a0205127188e65cba2d4e1c3 (diff) |
Added initialisation of URL pointers.
Added null terminaison to string.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@841 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r-- | url.c | 18 | ||||
-rw-r--r-- | url.h | 2 |
2 files changed, 14 insertions, 6 deletions
@@ -16,6 +16,13 @@ set_url(char* url) { printf("Memory allocation failed!\n"); exit(1); } + // Initialisation of the URL container members + Curl->url = NULL; + Curl->protocol = NULL; + Curl->hostname = NULL; + Curl->file = NULL; + Curl->port = 0; + // Copy the url in the URL container Curl->url = (char*)malloc(strlen(url)+1); if( Curl->url==NULL ) { @@ -27,7 +34,7 @@ set_url(char* url) { // extract the protocol ptr1 = strstr(url, "://"); if( ptr1==NULL ) { - printf("Malformed URL!\n"); + printf("Malformed URL or not an URL!\n"); return NULL; } pos1 = ptr1-url; @@ -62,6 +69,7 @@ set_url(char* url) { exit(1); } strncpy(Curl->hostname, ptr1+3, pos2-pos1-3); + Curl->hostname[pos2-pos1-3] = '\0'; // Look if a path is given ptr2 = strstr(ptr1+3, "/"); @@ -70,12 +78,12 @@ set_url(char* url) { // check if it's not a trailing '/' if( strlen(ptr2)>1 ) { // copy the path/filename in the URL container - Curl->path = (char*)malloc(strlen(ptr2)); - if( Curl->path==NULL ) { + Curl->file = (char*)malloc(strlen(ptr2)); + if( Curl->file==NULL ) { printf("Memory allocation failed!\n"); exit(1); } - strcpy(Curl->path, ptr2+1); + strcpy(Curl->file, ptr2+1); } } @@ -88,6 +96,6 @@ free_url(URL_t* url) { if(url->url) free(url->url); if(url->protocol) free(url->protocol); if(url->hostname) free(url->hostname); - if(url->path) free(url->path); + if(url->file) free(url->file); free(url); } @@ -5,7 +5,7 @@ typedef struct { char *url; char *protocol; char *hostname; - char *path; + char *file; unsigned int port; } URL_t; |