[winpr, crt] Added wcsstr implementation

This commit is contained in:
akallabeth 2022-11-10 15:54:28 +01:00 committed by akallabeth
parent cf5cb35697
commit d71174d091
2 changed files with 23 additions and 0 deletions

View File

@ -66,6 +66,8 @@ extern "C"
WINPR_API size_t _wcslen(const WCHAR* str);
WINPR_API size_t _wcsnlen(const WCHAR* str, size_t maxNumberOfElements);
WINPR_API WCHAR* _wcsstr(const WCHAR* str, const WCHAR* strSearch);
WINPR_API WCHAR* _wcschr(const WCHAR* str, WCHAR c);
WINPR_API WCHAR* _wcsrchr(const WCHAR* str, WCHAR c);
@ -78,6 +80,7 @@ extern "C"
#define _wcsncmp wcsncmp
#define _wcslen wcslen
#define _wcsnlen wcsnlen
#define _wcsstr wcsstr
#define _wcschr wcschr
#define _wcsrchr wcsrchr

View File

@ -165,6 +165,26 @@ size_t _wcsnlen(const WCHAR* str, size_t max)
return x;
}
/* _wcsstr -> wcsstr */
WCHAR* _wcsstr(const WCHAR* str, const WCHAR* strSearch)
{
WINPR_ASSERT(str);
WINPR_ASSERT(strSearch);
if (strSearch[0] == '\0')
return str;
const size_t searchLen = _wcslen(strSearch);
while (*str)
{
if (_wcsncmp(str, strSearch, searchLen) == 0)
return str;
str++;
}
return NULL;
}
/* _wcschr -> wcschr */
WCHAR* _wcschr(const WCHAR* str, WCHAR value)