ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

lstring.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.