]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/filefn.cpp
no message
[wxWidgets.git] / src / common / filefn.cpp
index 52af1f7b4cf71e0532cdf18e6379490a71f84c0e..9f61baf66d5c7d2b395cb8cda97c72e36415e0a0 100644 (file)
 #include <dir.h>
 #endif
 
+#include "wx/setup.h"
+#ifdef HAVE_FNMATCH_H
+#include   "fnmatch.h"
+#endif
+
 #ifdef __WINDOWS__
 #include "windows.h"
 #endif
@@ -1392,8 +1397,20 @@ bool wxIsWild( const wxString& pattern )
     return FALSE;
 };
 
-
 bool wxMatchWild( const wxString& pat, const wxString& text, bool dot_special )
+#ifdef HAVE_FNMATCH_H
+{
+   if(dot_special)
+      return fnmatch(pat.c_str(), text.c_str(), FNM_PERIOD) == 0;
+   else
+      return fnmatch(pat.c_str(), text.c_str(), 0) == 0;
+}
+#else
+
+#pragma error Broken implementation of wxMatchWild() -- needs fixing!
+   /*
+    * WARNING: this code is broken!
+    */
 {
   wxString tmp1 = pat;
   char *pattern = WXSTRINGCAST(tmp1);
@@ -1527,4 +1544,5 @@ bool wxMatchWild( const wxString& pat, const wxString& text, bool dot_special )
        pattern++;
     return ((*str == '\0') && (*pattern == '\0'));
 };
+#endif