diff libaudacious/vfs.c @ 2071:b9c6f1305c99 trunk

[svn] - move urldecode to libaudacious - use urldecode in the VFS layer
author nenolod
date Fri, 08 Dec 2006 15:41:46 -0800
parents 53a3d5db6b58
children f18a5b617c34
line wrap: on
line diff
--- a/libaudacious/vfs.c	Fri Dec 08 03:26:45 2006 -0800
+++ b/libaudacious/vfs.c	Fri Dec 08 15:41:46 2006 -0800
@@ -23,6 +23,8 @@
 #include <sys/stat.h>
 #include <sys/types.h>
 
+#include "urldecode.h"
+
 static GList *vfs_transports = NULL;
 
 #ifdef VFS_DEBUG
@@ -64,11 +66,14 @@
     gchar **vec;
     VFSConstructor *vtable = NULL;
     GList *node;
+    gchar *decpath;
 
     if (!path || !mode)
 	return NULL;
 
-    vec = g_strsplit(path, "://", 2);
+    decpath = xmms_urldecode_plain(path);
+
+    vec = g_strsplit(decpath, "://", 2);
 
     /* special case: no transport specified, look for the "/" transport */
     if (vec[1] == NULL)
@@ -111,6 +116,7 @@
     file->base = vtable;
 
     g_strfreev(vec);
+    g_free(decpath);
 
     return file;
 }