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)
13 static _SEH_FILTER(lstr_page_fault
)
15 if (_SEH_GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION
)
16 return _SEH_EXECUTE_HANDLER
;
18 return _SEH_CONTINUE_SEARCH
;
34 if (lpString1
== lpString2
)
36 if (lpString1
== NULL
)
38 if (lpString2
== NULL
)
41 Result
= CompareStringA(GetThreadLocale(), 0, lpString1
, -1, lpString2
, -1);
42 if (Result
) Result
-= 2;
60 if (lpString1
== lpString2
)
62 if (lpString1
== NULL
)
64 if (lpString2
== NULL
)
67 Result
= CompareStringA(GetThreadLocale(), NORM_IGNORECASE
, lpString1
, -1,
69 if (Result
) Result
-= 2;
87 UINT count
= iMaxLength
;
92 while ((count
> 1) && *s
)
101 _SEH_EXCEPT(lstr_page_fault
)
103 SetLastError( ERROR_INVALID_PARAMETER
);
125 memmove(lpString1
, lpString2
, strlen(lpString2
) + 1);
128 _SEH_EXCEPT(lstr_page_fault
)
130 SetLastError(ERROR_INVALID_PARAMETER
);
152 Ret
= strcat(lpString1
, lpString2
);
154 _SEH_EXCEPT(lstr_page_fault
)
156 SetLastError(ERROR_INVALID_PARAMETER
);
178 Ret
= strlen(lpString
);
180 _SEH_EXCEPT(lstr_page_fault
)
182 SetLastError(ERROR_INVALID_PARAMETER
);
202 if (lpString1
== lpString2
)
204 if (lpString1
== NULL
)
206 if (lpString2
== NULL
)
209 Result
= CompareStringW(GetThreadLocale(), 0, lpString1
, -1, lpString2
, -1);
210 if (Result
) Result
-= 2;
228 if (lpString1
== lpString2
)
230 if (lpString1
== NULL
)
232 if (lpString2
== NULL
)
235 Result
= CompareStringW(GetThreadLocale(), NORM_IGNORECASE
, lpString1
, -1, lpString2
, -1);
236 if (Result
) Result
-= 2;
253 LPWSTR d
= lpString1
;
254 LPCWSTR s
= lpString2
;
255 UINT count
= iMaxLength
;
260 while ((count
> 1) && *s
)
269 _SEH_EXCEPT(lstr_page_fault
)
271 SetLastError( ERROR_INVALID_PARAMETER
);
293 Ret
= wcscpy(lpString1
, lpString2
);
295 _SEH_EXCEPT(lstr_page_fault
)
297 SetLastError(ERROR_INVALID_PARAMETER
);
319 Ret
= wcscat(lpString1
, lpString2
);
321 _SEH_EXCEPT(lstr_page_fault
)
323 SetLastError(ERROR_INVALID_PARAMETER
);
344 Ret
= wcslen(lpString
);
346 _SEH_EXCEPT(lstr_page_fault
)
348 SetLastError(ERROR_INVALID_PARAMETER
);