summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libmpdemux/url.c16
-rw-r--r--libmpdemux/url.h1
2 files changed, 17 insertions, 0 deletions
diff --git a/libmpdemux/url.c b/libmpdemux/url.c
index f4a506ec72..0ace717d90 100644
--- a/libmpdemux/url.c
+++ b/libmpdemux/url.c
@@ -104,6 +104,22 @@ url_new(char* url) {
return Curl;
}
+URL_t *
+url_copy(URL_t* url) {
+ URL_t *dup_url;
+
+ if( url==NULL ) return NULL;
+ dup_url = (URL_t*)malloc(sizeof(URL_t));
+ if( dup_url==NULL ) {
+ printf("Memory allocation failed!\n");
+ return NULL;
+ }
+ memcpy( dup_url, url, sizeof(URL_t) );
+
+ return dup_url;
+}
+
+
void
url_free(URL_t* url) {
if(!url) return;
diff --git a/libmpdemux/url.h b/libmpdemux/url.h
index 5855296c38..0fe5cba491 100644
--- a/libmpdemux/url.h
+++ b/libmpdemux/url.h
@@ -18,6 +18,7 @@ typedef struct {
} URL_t;
URL_t* url_new(char* url);
+URL_t* url_copy(URL_t* url);
void url_free(URL_t* url);
#endif