]> git.saurik.com Git - wxWidgets.git/commitdiff
Added explicit Unicode conversion to wxDir - the
authorRobert Roebling <robert@roebling.de>
Sat, 10 Aug 2002 11:54:51 +0000 (11:54 +0000)
committerRobert Roebling <robert@roebling.de>
Sat, 10 Aug 2002 11:54:51 +0000 (11:54 +0000)
   code looked supicious to me.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16441 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/unix/dir.cpp

index d31f73ef6d07c0700b87729f7d3a0d9c7e06fb94..4680a338ce16bf902a1484d41ad0c56c930e324b 100644 (file)
@@ -126,12 +126,20 @@ bool wxDirData::Read(wxString *filename)
     wxString path = m_dirname;
     path += _T('/');
     path.reserve(path.length() + 255);
+    
+    wxString de_d_name;
 
     while ( !matches )
     {
         de = readdir(m_dir);
         if ( !de )
             return FALSE;
+            
+#if wxUSE_UNICODE
+        de_d_name = wxConvLibc.cMB2WC( de->d_name );
+#else
+        de_d_name = de->d_name;
+#endif            
 
         // don't return "." and ".." unless asked for
         if ( de->d_name[0] == '.' &&
@@ -146,12 +154,12 @@ bool wxDirData::Read(wxString *filename)
         }
 
         // check the type now
-        if ( !(m_flags & wxDIR_FILES) && !wxDir::Exists(path + de->d_name) )
+        if ( !(m_flags & wxDIR_FILES) && !wxDir::Exists(path + de_d_name) )
         {
             // it's a file, but we don't want them
             continue;
         }
-        else if ( !(m_flags & wxDIR_DIRS) && wxDir::Exists(path + de->d_name) )
+        else if ( !(m_flags & wxDIR_DIRS) && wxDir::Exists(path + de_d_name) )
         {
             // it's a dir, and we don't want it
             continue;
@@ -164,13 +172,17 @@ bool wxDirData::Read(wxString *filename)
         }
         else
         {
+#if wxUSE_UNICODE
+            matches = TRUE;  // FIXME
+#else
             // test against the pattern
-            matches = wxMatchWild(m_filespec, de->d_name,
+            matches = wxMatchWild(m_filespec, de_d_name,
                                   !(m_flags & wxDIR_HIDDEN));
+#endif
         }
     }
 
-    *filename = de->d_name;
+    *filename = de_d_name;
 
     return TRUE;
 }