]> git.sesse.net Git - vlc/commitdiff
mb_str() doesn't work as documented (or maybe it doesn't work at all)
authorRémi Denis-Courmont <rem@videolan.org>
Sun, 2 Oct 2005 09:21:04 +0000 (09:21 +0000)
committerRémi Denis-Courmont <rem@videolan.org>
Sun, 2 Oct 2005 09:21:04 +0000 (09:21 +0000)
so use wc_str() instead - closes #362

Now it looks almost like an exerpt from The Daily WTF :(

modules/gui/wxwidgets/dialogs.cpp
modules/gui/wxwidgets/interface.cpp
modules/gui/wxwidgets/open.cpp

index d614aa93af88d230202194eb972ba1f7aca94e96..ef47cb76838b599901a6caa472be7936ceb94428 100644 (file)
@@ -405,7 +405,7 @@ void DialogsProvider::OnOpenFileSimple( wxCommandEvent& event )
 
         for( size_t i = 0; i < paths.GetCount(); i++ )
         {
-            char *psz_utf8 = FromLocale( paths[i].mb_str() );
+            char *psz_utf8 = FromUTF32( paths[i].wc_str() );
             if( event.GetInt() )
                 playlist_Add( p_playlist, psz_utf8, psz_utf8,
                               PLAYLIST_APPEND | (i ? 0 : PLAYLIST_GO),
@@ -413,7 +413,7 @@ void DialogsProvider::OnOpenFileSimple( wxCommandEvent& event )
             else
                 playlist_Add( p_playlist, psz_utf8, psz_utf8,
                               PLAYLIST_APPEND, PLAYLIST_END );
-            LocaleFree( psz_utf8 );
+            free( psz_utf8 );
         }
     }
 
@@ -436,11 +436,11 @@ void DialogsProvider::OnOpenDirectory( wxCommandEvent& event )
     if( p_dir_dialog && p_dir_dialog->ShowModal() == wxID_OK )
     {
         wxString path = p_dir_dialog->GetPath();
-        char *psz_utf8 = FromLocale( path.mb_str() );
+        char *psz_utf8 = FromUTF32( path.wc_str() );
         playlist_Add( p_playlist, psz_utf8, psz_utf8,
                       PLAYLIST_APPEND | (event.GetInt() ? PLAYLIST_GO : 0),
                       PLAYLIST_END );
-        LocaleFree( psz_utf8 );
+        free( psz_utf8 );
     }
 
     vlc_object_release( p_playlist );
index be87604472aebbf27228c75f3663a634c1f9b8ca..dd77bde48c08c7fe2ee2bb2c1d77fc761823e49f 100644 (file)
@@ -1373,11 +1373,11 @@ bool DragAndDrop::OnDropFiles( wxCoord, wxCoord,
 
     for( size_t i = 0; i < filenames.GetCount(); i++ )
     {
-        char *psz_utf8 = FromLocale( filenames[i].mb_str() );
+        char *psz_utf8 = FromUTF32( filenames[i].wc_str() );
         playlist_Add( p_playlist, psz_utf8, psz_utf8,
                       PLAYLIST_APPEND | ((i | b_enqueue) ? 0 : PLAYLIST_GO),
                       PLAYLIST_END );
-        LocaleFree( psz_utf8 );
+        free( psz_utf8 );
     }
 
     vlc_object_release( p_playlist );
index ccca12e153af2af8d731a9b0f0dc25b5a3ba2d3b..279bfd5c78610e46b93ac9e6dd420c1ca6725916 100644 (file)
@@ -1147,17 +1147,17 @@ void OpenDialog::OnOk( wxCommandEvent& WXUNUSED(event) )
         playlist_item_t *p_item;
         char *psz_utf8;
 
-        psz_utf8 = FromLocale( mrl[i].mb_str() );
+        psz_utf8 = FromUTF32( mrl[i].wc_str() );
         p_item = playlist_ItemNew( p_intf, psz_utf8, psz_utf8 );
-        LocaleFree( psz_utf8 );
+        free( psz_utf8 );
 
         /* Insert options */
         while( i + 1 < (int)mrl.GetCount() &&
-               ((const char *)mrl[i + 1].mb_str())[0] == ':' )
+               ((const char *)mrl[i + 1].wc_str())[0] == ':'L )
         {
-            psz_utf8 = FromLocale( mrl[i + 1].mb_str() );
+            psz_utf8 = FromUTF32( mrl[i + 1].wc_str() );
             playlist_ItemAddOption( p_item, psz_utf8 );
-            LocaleFree( psz_utf8 );
+            free( psz_utf8 );
             i++;
         }
 
@@ -1166,9 +1166,9 @@ void OpenDialog::OnOk( wxCommandEvent& WXUNUSED(event) )
         {
             for( int j = 0; j < (int)subsfile_mrl.GetCount(); j++ )
             {
-                psz_utf8 = FromLocale( subsfile_mrl[j].mb_str() );
+                psz_utf8 = FromUTF32( subsfile_mrl[j].wc_str() );
                 playlist_ItemAddOption( p_item, psz_utf8 );
-                LocaleFree( psz_utf8 );
+                free( psz_utf8 );
             }
         }
 
@@ -1177,9 +1177,9 @@ void OpenDialog::OnOk( wxCommandEvent& WXUNUSED(event) )
         {
             for( int j = 0; j < (int)sout_mrl.GetCount(); j++ )
             {
-                psz_utf8 = FromLocale( sout_mrl[j].mb_str() );
-                playlist_ItemAddOption( p_item, sout_mrl[j].mb_str() );
-                LocaleFree( psz_utf8 );
+                psz_utf8 = FromUTF32( sout_mrl[j].wc_str() );
+                playlist_ItemAddOption( p_item, psz_utf8 );
+                free( psz_utf8 );
             }
         }