2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS system libraries
4 * FILE: dll/win32/kernel32/winnls/string/lstring.c
5 * PURPOSE: Local string functions
6 * PROGRAMMER: Ariadne ( ariadne@xs4all.nl)
18 lstrcmpA(LPCSTR lpString1
, LPCSTR lpString2
)
22 if (lpString1
== lpString2
)
24 if (lpString1
== NULL
)
26 if (lpString2
== NULL
)
29 Result
= CompareStringA(GetThreadLocale(), 0, lpString1
, -1, lpString2
, -1);
30 if (Result
) Result
-= 2;
41 lstrcmpiA(LPCSTR lpString1
, LPCSTR lpString2
)
45 if (lpString1
== lpString2
)
47 if (lpString1
== NULL
)
49 if (lpString2
== NULL
)
52 Result
= CompareStringA(GetThreadLocale(), NORM_IGNORECASE
, lpString1
, -1, lpString2
, -1);
64 lstrcpynA(LPSTR lpString1
, LPCSTR lpString2
, int iMaxLength
)
68 UINT count
= iMaxLength
;
73 while ((count
> 1) && *s
)
84 _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER
)
98 lstrcpyA(LPSTR lpString1
, LPCSTR lpString2
)
104 memmove(lpString1
, lpString2
, strlen(lpString2
) + 1);
107 _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER
)
121 lstrcatA(LPSTR lpString1
, LPCSTR lpString2
)
127 Ret
= strcat(lpString1
, lpString2
);
129 _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER
)
143 lstrlenA(LPCSTR lpString
)
149 Ret
= strlen(lpString
);
151 _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER
)
165 lstrcmpW(LPCWSTR lpString1
, LPCWSTR lpString2
)
169 if (lpString1
== lpString2
)
171 if (lpString1
== NULL
)
173 if (lpString2
== NULL
)
176 Result
= CompareStringW(GetThreadLocale(), 0, lpString1
, -1, lpString2
, -1);
189 lstrcmpiW(LPCWSTR lpString1
, LPCWSTR lpString2
)
193 if (lpString1
== lpString2
)
195 if (lpString1
== NULL
)
197 if (lpString2
== NULL
)
200 Result
= CompareStringW(GetThreadLocale(), NORM_IGNORECASE
, lpString1
, -1, lpString2
, -1);
213 lstrcpynW(LPWSTR lpString1
, LPCWSTR lpString2
, int iMaxLength
)
215 LPWSTR d
= lpString1
;
216 LPCWSTR s
= lpString2
;
217 UINT count
= iMaxLength
;
222 while ((count
> 1) && *s
)
233 _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER
)
247 lstrcpyW(LPWSTR lpString1
, LPCWSTR lpString2
)
253 Ret
= wcscpy(lpString1
, lpString2
);
255 _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER
)
269 lstrcatW(LPWSTR lpString1
, LPCWSTR lpString2
)
275 Ret
= wcscat(lpString1
, lpString2
);
277 _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER
)
291 lstrlenW(LPCWSTR lpString
)
297 Ret
= wcslen(lpString
);
299 _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER
)