]> git.sesse.net Git - vlc/commitdiff
Support opening of non ANSI filenames on Win32
authorRémi Denis-Courmont <rem@videolan.org>
Sat, 11 Feb 2006 17:30:48 +0000 (17:30 +0000)
committerRémi Denis-Courmont <rem@videolan.org>
Sat, 11 Feb 2006 17:30:48 +0000 (17:30 +0000)
src/misc/unicode.c

index 09daff1618d6c9ce66ba4298130613e93bc83907..cbdb89c96f715c8c1ac636da1903f00e935b3e3e 100644 (file)
@@ -33,6 +33,7 @@
  *****************************************************************************/
 FILE *vlc_fopen( const char *filename, const char *mode )
 {
+#if !defined WIN32 /*|| !defined UNICODE*/
     const char *local_name = ToLocale( filename );
 
     if( local_name != NULL )
@@ -42,6 +43,16 @@ FILE *vlc_fopen( const char *filename, const char *mode )
         return stream;
     }
     return NULL;
+#else
+    wchar_t wpath[MAX_PATH];
+    wchar_t wmode[4];
+
+   if( !MultiByteToWideChar( CP_UTF8, 0, filename, -1, wpath, MAX_PATH - 1)
+    || !MultiByteToWideChar( CP_ACP, 0, mode, -1, wmode, 3 ) )
+        return NULL;
+
+    return _wfopen( wpath, wmode );
+#endif
 }
 
 /*****************************************************************************