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)
14 static _SEH_FILTER(lstr_page_fault
)
16 if (_SEH_GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION
)
17 return _SEH_EXECUTE_HANDLER
;
19 return _SEH_CONTINUE_SEARCH
;
35 if (lpString1
== lpString2
)
37 if (lpString1
== NULL
)
39 if (lpString2
== NULL
)
42 Result
= CompareStringA(GetThreadLocale(), 0, lpString1
, -1, lpString2
, -1);
43 if (Result
) Result
-= 2;
61 if (lpString1
== lpString2
)
63 if (lpString1
== NULL
)
65 if (lpString2
== NULL
)
68 Result
= CompareStringA(GetThreadLocale(), NORM_IGNORECASE
, lpString1
, -1,
70 if (Result
) Result
-= 2;
89 UINT count
= iMaxLength
;
94 while ((count
> 1) && *s
)
103 _SEH_EXCEPT(lstr_page_fault
)
105 SetLastError( ERROR_INVALID_PARAMETER
);
127 memmove(lpString1
, lpString2
, strlen(lpString2
) + 1);
130 _SEH_EXCEPT(lstr_page_fault
)
132 SetLastError(ERROR_INVALID_PARAMETER
);
154 Ret
= strcat(lpString1
, lpString2
);
156 _SEH_EXCEPT(lstr_page_fault
)
158 SetLastError(ERROR_INVALID_PARAMETER
);
180 Ret
= strlen(lpString
);
182 _SEH_EXCEPT(lstr_page_fault
)
184 SetLastError(ERROR_INVALID_PARAMETER
);
204 if (lpString1
== lpString2
)
206 if (lpString1
== NULL
)
208 if (lpString2
== NULL
)
211 Result
= CompareStringW(GetThreadLocale(), 0, lpString1
, -1, lpString2
, -1);
212 if (Result
) Result
-= 2;
230 if (lpString1
== lpString2
)
232 if (lpString1
== NULL
)
234 if (lpString2
== NULL
)
237 Result
= CompareStringW(GetThreadLocale(), NORM_IGNORECASE
, lpString1
, -1, lpString2
, -1);
238 if (Result
) Result
-= 2;
255 LPWSTR d
= lpString1
;
256 LPCWSTR s
= lpString2
;
257 UINT count
= iMaxLength
;
262 while ((count
> 1) && *s
)
271 _SEH_EXCEPT(lstr_page_fault
)
273 SetLastError( ERROR_INVALID_PARAMETER
);
295 Ret
= wcscpy(lpString1
, lpString2
);
297 _SEH_EXCEPT(lstr_page_fault
)
299 SetLastError(ERROR_INVALID_PARAMETER
);
321 Ret
= wcscat(lpString1
, lpString2
);
323 _SEH_EXCEPT(lstr_page_fault
)
325 SetLastError(ERROR_INVALID_PARAMETER
);
346 Ret
= wcslen(lpString
);
348 _SEH_EXCEPT(lstr_page_fault
)
350 SetLastError(ERROR_INVALID_PARAMETER
);