- static const FIND_ATTR GetAttrFromFindData(FIND_STRUCT *finddata)
- {
- #ifdef __VISUALC__
- return finddata->attrib;
- #else // Borland
- return finddata->ff_attrib;
- #endif
- }
+// Helper function checking that the contents of the given FIND_STRUCT really
+// match our filter. We need to do it ourselves as native Windows functions
+// apply the filter to both the long and the short names of the file, so
+// something like "*.bar" matches "foo.bar.baz" too and not only "foo.bar", so
+// we have to double check that we have a real match.
+inline bool
+CheckFoundMatch(const FIND_STRUCT* finddata, const wxString& filter)
+{
+ return filter.empty() ||
+ wxString(GetNameFromFindData(finddata)).Matches(filter);
+}