Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenlstring.c
Go to the documentation of this file.
00001 /* 00002 * COPYRIGHT: See COPYING in the top level directory 00003 * PROJECT: ReactOS system libraries 00004 * FILE: lib/kernel32/file/lstring.c 00005 * PURPOSE: Local string functions 00006 * PROGRAMMER: Ariadne ( ariadne@xs4all.nl) 00007 * UPDATE HISTORY: 00008 * Created 01/11/98 00009 */ 00010 00011 #include <k32.h> 00012 00013 /* 00014 * @implemented 00015 */ 00016 int 00017 WINAPI 00018 lstrcmpA(LPCSTR lpString1, LPCSTR lpString2) 00019 { 00020 int Result; 00021 00022 if (lpString1 == lpString2) 00023 return 0; 00024 if (lpString1 == NULL) 00025 return -1; 00026 if (lpString2 == NULL) 00027 return 1; 00028 00029 Result = CompareStringA(GetThreadLocale(), 0, lpString1, -1, lpString2, -1); 00030 if (Result) Result -= 2; 00031 00032 return Result; 00033 } 00034 00035 00036 /* 00037 * @implemented 00038 */ 00039 int 00040 WINAPI 00041 lstrcmpiA(LPCSTR lpString1, LPCSTR lpString2) 00042 { 00043 int Result; 00044 00045 if (lpString1 == lpString2) 00046 return 0; 00047 if (lpString1 == NULL) 00048 return -1; 00049 if (lpString2 == NULL) 00050 return 1; 00051 00052 Result = CompareStringA(GetThreadLocale(), NORM_IGNORECASE, lpString1, -1, lpString2, -1); 00053 if (Result) 00054 Result -= 2; 00055 00056 return Result; 00057 } 00058 00059 /* 00060 * @implemented 00061 */ 00062 LPSTR 00063 WINAPI 00064 lstrcpynA(LPSTR lpString1, LPCSTR lpString2, int iMaxLength) 00065 { 00066 LPSTR d = lpString1; 00067 LPCSTR s = lpString2; 00068 UINT count = iMaxLength; 00069 LPSTR Ret = NULL; 00070 00071 _SEH2_TRY 00072 { 00073 while ((count > 1) && *s) 00074 { 00075 count--; 00076 *d++ = *s++; 00077 } 00078 00079 if (count) 00080 *d = 0; 00081 00082 Ret = lpString1; 00083 } 00084 _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) 00085 { 00086 } 00087 _SEH2_END; 00088 00089 return Ret; 00090 } 00091 00092 00093 /* 00094 * @implemented 00095 */ 00096 LPSTR 00097 WINAPI 00098 lstrcpyA(LPSTR lpString1, LPCSTR lpString2) 00099 { 00100 LPSTR Ret = NULL; 00101 00102 _SEH2_TRY 00103 { 00104 memmove(lpString1, lpString2, strlen(lpString2) + 1); 00105 Ret = lpString1; 00106 } 00107 _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) 00108 { 00109 } 00110 _SEH2_END; 00111 00112 return Ret; 00113 } 00114 00115 00116 /* 00117 * @implemented 00118 */ 00119 LPSTR 00120 WINAPI 00121 lstrcatA(LPSTR lpString1, LPCSTR lpString2) 00122 { 00123 LPSTR Ret = NULL; 00124 00125 _SEH2_TRY 00126 { 00127 Ret = strcat(lpString1, lpString2); 00128 } 00129 _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) 00130 { 00131 } 00132 _SEH2_END; 00133 00134 return Ret; 00135 } 00136 00137 00138 /* 00139 * @implemented 00140 */ 00141 int 00142 WINAPI 00143 lstrlenA(LPCSTR lpString) 00144 { 00145 INT Ret = 0; 00146 00147 _SEH2_TRY 00148 { 00149 Ret = strlen(lpString); 00150 } 00151 _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) 00152 { 00153 } 00154 _SEH2_END; 00155 00156 return Ret; 00157 } 00158 00159 00160 /* 00161 * @implemented 00162 */ 00163 int 00164 WINAPI 00165 lstrcmpW(LPCWSTR lpString1, LPCWSTR lpString2) 00166 { 00167 int Result; 00168 00169 if (lpString1 == lpString2) 00170 return 0; 00171 if (lpString1 == NULL) 00172 return -1; 00173 if (lpString2 == NULL) 00174 return 1; 00175 00176 Result = CompareStringW(GetThreadLocale(), 0, lpString1, -1, lpString2, -1); 00177 if (Result) 00178 Result -= 2; 00179 00180 return Result; 00181 } 00182 00183 00184 /* 00185 * @implemented 00186 */ 00187 int 00188 WINAPI 00189 lstrcmpiW(LPCWSTR lpString1, LPCWSTR lpString2) 00190 { 00191 int Result; 00192 00193 if (lpString1 == lpString2) 00194 return 0; 00195 if (lpString1 == NULL) 00196 return -1; 00197 if (lpString2 == NULL) 00198 return 1; 00199 00200 Result = CompareStringW(GetThreadLocale(), NORM_IGNORECASE, lpString1, -1, lpString2, -1); 00201 if (Result) 00202 Result -= 2; 00203 00204 return Result; 00205 } 00206 00207 00208 /* 00209 * @implemented 00210 */ 00211 LPWSTR 00212 WINAPI 00213 lstrcpynW(LPWSTR lpString1, LPCWSTR lpString2, int iMaxLength) 00214 { 00215 LPWSTR d = lpString1; 00216 LPCWSTR s = lpString2; 00217 UINT count = iMaxLength; 00218 LPWSTR Ret = NULL; 00219 00220 _SEH2_TRY 00221 { 00222 while ((count > 1) && *s) 00223 { 00224 count--; 00225 *d++ = *s++; 00226 } 00227 00228 if (count) 00229 *d = 0; 00230 00231 Ret = lpString1; 00232 } 00233 _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) 00234 { 00235 } 00236 _SEH2_END; 00237 00238 return Ret; 00239 } 00240 00241 00242 /* 00243 * @implemented 00244 */ 00245 LPWSTR 00246 WINAPI 00247 lstrcpyW(LPWSTR lpString1, LPCWSTR lpString2) 00248 { 00249 LPWSTR Ret = NULL; 00250 00251 _SEH2_TRY 00252 { 00253 Ret = wcscpy(lpString1, lpString2); 00254 } 00255 _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) 00256 { 00257 } 00258 _SEH2_END; 00259 00260 return Ret; 00261 } 00262 00263 00264 /* 00265 * @implemented 00266 */ 00267 LPWSTR 00268 WINAPI 00269 lstrcatW(LPWSTR lpString1, LPCWSTR lpString2) 00270 { 00271 LPWSTR Ret = NULL; 00272 00273 _SEH2_TRY 00274 { 00275 Ret = wcscat(lpString1, lpString2); 00276 } 00277 _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) 00278 { 00279 } 00280 _SEH2_END; 00281 00282 return Ret; 00283 } 00284 00285 00286 /* 00287 * @implemented 00288 */ 00289 int 00290 WINAPI 00291 lstrlenW(LPCWSTR lpString) 00292 { 00293 INT Ret = 0; 00294 00295 _SEH2_TRY 00296 { 00297 Ret = wcslen(lpString); 00298 } 00299 _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) 00300 { 00301 } 00302 _SEH2_END; 00303 00304 return Ret; 00305 } Generated on Fri May 25 2012 04:22:34 for ReactOS by
1.7.6.1
|