39#include "wine/unicode.h"
60 char str1[3], str2[3];
108 TRACE(
"(%d,%d)\n", ch1, ch2);
140 TRACE(
"(%p %p %d)\n", lpSrc, lpDest, nMaxLen);
142 if ((!lpDest || nMaxLen == 0) && lpSrc)
143 return (
strlen(lpSrc) + 1);
158 lpDest[
len - 1] =
'\0';
182 TRACE(
"(%p %p)\n", lppDest, lpSrc);
208 TRACE(
"(%p %p %d)\n", lpSrc, lpDest, nMaxLen);
210 if (!lpDest && lpSrc)
279 return (
LPSTR)lpszStr;
328 if (!lpszStr || !lpszSearch || !*lpszSearch)
331 iLen =
strlen(lpszSearch);
334 while (lpszStr + iLen <=
end)
336 if (!pStrCmpFn(lpszStr, lpszSearch, iLen))
337 return (
LPSTR)lpszStr;
376 return atoi(lpszStr);
391 if (!lpszStr || !lpszSearch || !*lpszSearch)
397 while (lpszStr + iLen <=
end)
399 if (!
StrCmpNIW(lpszStr, lpszSearch, iLen))
413 return atoiW(lpString);
425 LPCSTR lpszRead = lpszStr;
426 if (lpszStr && *lpszStr && lpszMatch)
430 LPCSTR lpszTest = pStrChrFn(lpszMatch, *lpszRead);
439 return lpszRead - lpszStr;
475 lpszRet =
strchrW(lpszStr, ch);
536 lpszEnd = lpszStr +
lstrlenA(lpszStr);
538 while (*lpszStr && lpszStr <= lpszEnd)
540 ch2 =
IsDBCSLeadByte(*lpszStr)? *lpszStr << 8 | lpszStr[1] : *lpszStr;
547 return (
LPSTR)lpszRet;
596 if (!lpszStr || !lpszSearch)
return NULL;
597 return strstrW( lpszStr, lpszSearch );
623 return (
LPSTR)lpszStr;
674 if (!lpszStr || !lpszSearch || !*lpszSearch)
678 ch1 = *lpszSearch << 8 | (
UCHAR)lpszSearch[1];
684 lpszEnd = lpszStr +
lstrlenA(lpszStr);
688 while (lpszStr + iLen <= lpszEnd && *lpszStr)
693 if (!
StrCmpNIA(lpszStr, lpszSearch, iLen))
694 lpszRet = (
LPSTR)lpszStr;
713 if (!lpszStr || !lpszSearch || !*lpszSearch)
719 lpszEnd = lpszStr +
strlenW(lpszStr);
724 while (lpszStr + iLen <= lpszEnd && *lpszStr)
728 if (!
StrCmpNIW(lpszStr, lpszSearch, iLen))
729 lpszRet = (
LPWSTR)lpszStr;
768 if (lpszStr && *lpszStr && lpszMatch)
772 if (
StrChrIW(lpszMatch, *lpszRead))
break;
776 return lpszRead - lpszStr;
805 lpszEnd = lpszStr +
lstrlenA(lpszStr);
807 while (*lpszStr && lpszStr <= lpszEnd)
809 ch2 =
IsDBCSLeadByte(*lpszStr)? *lpszStr << 8 | lpszStr[1] : *lpszStr;
816 return (
LPSTR)lpszRet;
845 if (!lpszStr || !lpszMatch)
return 0;
846 return strcspnW( lpszStr, lpszMatch );
870 TRACE(
"(%d,%s,%s,%d)\n", bCase,
879 dwFlags, lpszStr, iLen, lpszComp, iLen);
898 TRACE(
"(%d,%s,%s,%d)\n", bCase,
907 dwFlags, lpszStr, iLen, lpszComp, iLen);
ACPI_SIZE strlen(const char *String)
char * strcpy(char *DstString, const char *SrcString)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
PVOID ReAlloc(IN DWORD dwFlags, IN PVOID lpMem, IN SIZE_T dwBytes)
INT WINAPI StrToIntW(LPCWSTR lpString)
static BOOL COMCTL32_ChrCmpA(WORD ch1, WORD ch2)
BOOL WINAPI IntlStrEqWorkerA(BOOL bCase, LPCSTR lpszStr, LPCSTR lpszComp, int iLen)
LPWSTR WINAPI StrChrIW(LPCWSTR lpszStr, WCHAR ch)
LPSTR WINAPI StrRStrIA(LPCSTR lpszStr, LPCSTR lpszEnd, LPCSTR lpszSearch)
int WINAPI StrCSpnIA(LPCSTR lpszStr, LPCSTR lpszMatch)
int WINAPI StrCSpnW(LPCWSTR lpszStr, LPCWSTR lpszMatch)
LPWSTR WINAPI StrChrW(LPCWSTR lpszStr, WCHAR ch)
LPWSTR WINAPI StrRChrW(LPCWSTR str, LPCWSTR end, WORD ch)
INT WINAPI Str_GetPtrA(LPCSTR lpSrc, LPSTR lpDest, INT nMaxLen)
LPSTR WINAPI StrStrIA(LPCSTR lpszStr, LPCSTR lpszSearch)
LPSTR WINAPI StrRChrIA(LPCSTR lpszStr, LPCSTR lpszEnd, WORD ch)
BOOL WINAPI Str_SetPtrW(LPWSTR *lppDest, LPCWSTR lpSrc)
static int COMCTL32_StrSpnHelperA(LPCSTR lpszStr, LPCSTR lpszMatch, LPSTR(WINAPI *pStrChrFn)(LPCSTR, WORD), BOOL bInvert)
static BOOL COMCTL32_ChrCmpIA(WORD ch1, WORD ch2)
INT WINAPI StrCmpNIA(LPCSTR lpszStr, LPCSTR lpszComp, INT iLen)
BOOL WINAPI Str_SetPtrA(LPSTR *lppDest, LPCSTR lpSrc)
BOOL WINAPI IntlStrEqWorkerW(BOOL bCase, LPCWSTR lpszStr, LPCWSTR lpszComp, int iLen)
LPSTR WINAPI StrChrIA(LPCSTR lpszStr, WORD ch)
LPWSTR WINAPI StrRChrIW(LPCWSTR str, LPCWSTR end, WORD ch)
LPWSTR WINAPI StrStrW(LPCWSTR lpszStr, LPCWSTR lpszSearch)
LPSTR WINAPI StrRChrA(LPCSTR lpszStr, LPCSTR lpszEnd, WORD ch)
INT WINAPI StrToIntA(LPCSTR lpszStr)
int WINAPI StrCSpnIW(LPCWSTR lpszStr, LPCWSTR lpszMatch)
LPSTR WINAPI StrChrA(LPCSTR lpszStr, WORD ch)
INT WINAPI Str_GetPtrW(LPCWSTR lpSrc, LPWSTR lpDest, INT nMaxLen)
INT WINAPI StrCmpNIW(LPCWSTR lpszStr, LPCWSTR lpszComp, INT iLen)
LPWSTR WINAPI StrStrIW(LPCWSTR lpszStr, LPCWSTR lpszSearch)
static BOOL COMCTL32_ChrCmpIW(WCHAR ch1, WCHAR ch2)
int WINAPI StrCSpnA(LPCSTR lpszStr, LPCSTR lpszMatch)
static LPSTR COMCTL32_StrStrHelperA(LPCSTR lpszStr, LPCSTR lpszSearch, INT(WINAPI *pStrCmpFn)(LPCSTR, LPCSTR, INT))
INT WINAPI StrCmpNW(LPCWSTR lpszStr, LPCWSTR lpszComp, INT iLen)
static BOOL COMCTL32_ChrCmpHelperA(WORD ch1, WORD ch2, DWORD dwFlags)
LPSTR WINAPI StrStrA(LPCSTR lpszStr, LPCSTR lpszSearch)
LPWSTR WINAPI StrRStrIW(LPCWSTR lpszStr, LPCWSTR lpszEnd, LPCWSTR lpszSearch)
INT WINAPI StrCmpNA(LPCSTR lpszStr, LPCSTR lpszComp, INT iLen)
BOOL WINAPI IsDBCSLeadByte(BYTE TestByte)
_Check_return_ int __cdecl atoi(_In_z_ const char *_Str)
LCID WINAPI GetThreadLocale(void)
INT WINAPI CompareStringA(LCID lcid, DWORD flags, LPCSTR str1, INT len1, LPCSTR str2, INT len2)
INT WINAPI CompareStringW(LCID lcid, DWORD flags, LPCWSTR str1, INT len1, LPCWSTR str2, INT len2)
int WINAPI lstrlenA(LPCSTR lpString)
#define RtlMoveMemory(Destination, Source, Length)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
#define LOCALE_RETURN_GENITIVE_NAMES
LPSTR WINAPI CharNextA(_In_ LPCSTR)
_In_opt_ PALLOCATE_FUNCTION _In_opt_ PFREE_FUNCTION Free