[vlc-commits] commit: taglib: use decoded path (Ilkka Ollakka )

git at videolan.org git at videolan.org
Tue May 11 16:56:30 CEST 2010


vlc | branch: master | Ilkka Ollakka <ileoo at videolan.org> | Tue May 11 17:52:54 2010 +0300| [92fb098b738440fb04fa95eec0bb14badc5611d5] | committer: Ilkka Ollakka 

taglib: use decoded path

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=92fb098b738440fb04fa95eec0bb14badc5611d5
---

 modules/meta_engine/taglib.cpp |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/modules/meta_engine/taglib.cpp b/modules/meta_engine/taglib.cpp
index 521197f..7beab44 100644
--- a/modules/meta_engine/taglib.cpp
+++ b/modules/meta_engine/taglib.cpp
@@ -330,23 +330,27 @@ static int ReadMeta( vlc_object_t* p_this)
     demux_t*        p_demux = p_demux_meta->p_demux;
     vlc_meta_t*     p_meta;
     FileRef f;
+    char *psz_path = decode_URI_duplicate( p_demux->psz_path );
 
     p_demux_meta->p_meta = NULL;
+    if( !psz_path )
+        return VLC_ENOMEM;
 
 
 #if defined(WIN32) || defined (UNDER_CE)
     wchar_t wpath[MAX_PATH + 1];
-    if( !MultiByteToWideChar( CP_UTF8, 0, p_demux->psz_path, -1, wpath, MAX_PATH) )
+    if( !MultiByteToWideChar( CP_UTF8, 0, psz_path, -1, wpath, MAX_PATH) )
         return VLC_EGENERIC;
     wpath[MAX_PATH] = L'\0';
     f = FileRef( wpath );
 #else
-    const char* local_name = ToLocale( p_demux->psz_path );
+    const char* local_name = ToLocale( psz_path );
     if( !local_name )
         return VLC_EGENERIC;
     f = FileRef( local_name );
     LocaleFree( local_name );
 #endif
+    free( psz_path );
 
     if( f.isNull() )
         return VLC_EGENERIC;



More information about the vlc-commits mailing list