git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21173
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
wxArrayString& descriptions,
wxArrayString& filters)
{
wxArrayString& descriptions,
wxArrayString& filters)
{
+ descriptions.Clear();
+ filters.Clear();
+
wxString str(filterStr);
wxString description, filter;
wxString str(filterStr);
wxString description, filter;
- int pos = -1;
- bool finished = FALSE;
- do
+ for ( int pos = 0; pos != wxNOT_FOUND; )
{
pos = str.Find(wxT('|'));
{
pos = str.Find(wxT('|'));
- if (pos == -1)
- return 0; // Problem
+ if ( pos == wxNOT_FOUND )
+ {
+ // if there are no '|'s at all in the string just take the entire
+ // string as filter
+ if ( filters.IsEmpty() )
+ {
+ description.Add(wxEmptyString);
+ filters.Add(filterStr);
+ }
+ else
+ {
+ wxFAIL_MSG( _T("missing '|' in the wildcard string!") );
+ }
+
+ break;
+ }
+
description = str.Left(pos);
description = str.Left(pos);
+ str = str.Mid(pos + 1);
pos = str.Find(wxT('|'));
pos = str.Find(wxT('|'));
+ if ( pos == wxNOT_FOUND )
}
else
{
filter = str.Left(pos);
}
else
{
filter = str.Left(pos);
+ str = str.Mid(pos + 1);
}
descriptions.Add(description);
filters.Add(filter);
}
}
descriptions.Add(description);
filters.Add(filter);
}
return filters.GetCount();
}
return filters.GetCount();
}