From: Vadim Zeitlin Date: Fri, 7 Jun 2002 21:04:37 +0000 (+0000) Subject: fixed bug in wxStrstr() replacement implementation (part of patch 565031) X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/9f6fe2886fecf66c5a3587dba2f2a4e314ef725a fixed bug in wxStrstr() replacement implementation (part of patch 565031) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15784 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/common/wxchar.cpp b/src/common/wxchar.cpp index 7e3c343b5e..25adbfad8d 100644 --- a/src/common/wxchar.cpp +++ b/src/common/wxchar.cpp @@ -285,12 +285,20 @@ WXDLLEXPORT size_t wxStrspn(const wxChar *s, const wxChar *accept) WXDLLEXPORT wxChar * wxStrstr(const wxChar *haystack, const wxChar *needle) { - wxChar *fnd; - while ((fnd = wxStrchr(haystack, *needle))) { - if (!wxStrcmp(fnd, needle)) return fnd; - haystack = fnd + 1; - } - return (wxChar *)NULL; + wxCHECK_RET( needle, NULL, _T("NULL argument in wxStrstr") ); + + const size_t len = wxStrlen(needle); + + wxChar *fnd; + while ( (fnd = wxStrchr(haystack, *needle)) ) + { + if ( !wxStrncmp(fnd, needle, len) ) + return fnd; + + haystack = fnd + 1; + } + + return (wxChar *)NULL; } WXDLLEXPORT double wxStrtod(const wxChar *nptr, wxChar **endptr)