2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS system libraries
4 * FILE: lib/kernel32/file/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
)
96 lstrcpyA(LPSTR lpString1
, LPCSTR lpString2
)
102 memmove(lpString1
, lpString2
, strlen(lpString2
) + 1);
117 lstrcatA(LPSTR lpString1
, LPCSTR lpString2
)
123 Ret
= strcat(lpString1
, lpString2
);
137 lstrlenA(LPCSTR lpString
)
143 Ret
= strlen(lpString
);
157 lstrcmpW(LPCWSTR lpString1
, LPCWSTR lpString2
)
161 if (lpString1
== lpString2
)
163 if (lpString1
== NULL
)
165 if (lpString2
== NULL
)
168 Result
= CompareStringW(GetThreadLocale(), 0, lpString1
, -1, lpString2
, -1);
181 lstrcmpiW(LPCWSTR lpString1
, LPCWSTR lpString2
)
185 if (lpString1
== lpString2
)
187 if (lpString1
== NULL
)
189 if (lpString2
== NULL
)
192 Result
= CompareStringW(GetThreadLocale(), NORM_IGNORECASE
, lpString1
, -1, lpString2
, -1);
205 lstrcpynW(LPWSTR lpString1
, LPCWSTR lpString2
, int iMaxLength
)
207 LPWSTR d
= lpString1
;
208 LPCWSTR s
= lpString2
;
209 UINT count
= iMaxLength
;
214 while ((count
> 1) && *s
)
237 lstrcpyW(LPWSTR lpString1
, LPCWSTR lpString2
)
243 Ret
= wcscpy(lpString1
, lpString2
);
257 lstrcatW(LPWSTR lpString1
, LPCWSTR lpString2
)
263 Ret
= wcscat(lpString1
, lpString2
);
277 lstrlenW(LPCWSTR lpString
)
283 Ret
= wcslen(lpString
);