Index: src/libstring/TStringPattern.cpp =================================================================== diff -u -N -r0d5b67ee96b435d63f7bf075dc8e28603793b187 -r9ddf8fdd5f641491dd30c49eb90f8f740314b6af --- src/libstring/TStringPattern.cpp (.../TStringPattern.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) +++ src/libstring/TStringPattern.cpp (.../TStringPattern.cpp) (revision 9ddf8fdd5f641491dd30c49eb90f8f740314b6af) @@ -79,7 +79,8 @@ } lpszMask++; } - while (*lpszMask == _T('*') && bMatch) lpszMask++; + while (*lpszMask == _T('*') && bMatch) + lpszMask++; return bMatch && *lpszString == _T('\0') && *lpszMask == _T('\0'); } @@ -94,28 +95,27 @@ // if lpszString is empty and lpszMask has more characters or, // lpszMask is empty, return - if (*lpszString == _T('\0') && *lpszMask != _T('\0')) return false; - if (*lpszString == _T('\0') && *lpszMask == _T('\0')) return true; + if (*lpszString == _T('\0') && *lpszMask != _T('\0')) + return false; + if (*lpszString == _T('\0') && *lpszMask == _T('\0')) + return true; // else search substring - else + LPCTSTR wdsCopy = lpszMask; + LPCTSTR lpszStringCopy = lpszString; + bool bMatch = true; + do { - LPCTSTR wdsCopy = lpszMask; - LPCTSTR lpszStringCopy = lpszString; - bool bMatch = true; - do - { - if (!MatchMask(lpszMask, lpszString)) lpszStringCopy++; - lpszMask = wdsCopy; - lpszString = lpszStringCopy; - while (!(_tcicmp(*lpszMask, *lpszString)) && (*lpszString != '\0')) lpszString++; - wdsCopy = lpszMask; - lpszStringCopy = lpszString; - } while ((*lpszString != _T('\0')) ? !MatchMask(lpszMask, lpszString) : (bMatch = false) != false); + if (!MatchMask(lpszMask, lpszString)) lpszStringCopy++; + lpszMask = wdsCopy; + lpszString = lpszStringCopy; + while (!(_tcicmp(*lpszMask, *lpszString)) && (*lpszString != '\0')) lpszString++; + wdsCopy = lpszMask; + lpszStringCopy = lpszString; + } while ((*lpszString != _T('\0')) ? !MatchMask(lpszMask, lpszString) : (bMatch = false) != false); - if (*lpszString == _T('\0') && *lpszMask == _T('\0')) return true; + if (*lpszString == _T('\0') && *lpszMask == _T('\0')) return true; - return bMatch; - } + return bMatch; } bool TStringPattern::Matches(const TString& strTextToMatch) const