Changeset 7832 for trunk/src/kernel32/heapstring.cpp
- Timestamp:
- Feb 7, 2002, 5:34:54 PM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kernel32/heapstring.cpp
r7504 r7832 1 /* $Id: heapstring.cpp,v 1.4 8 2001-11-30 17:50:42 phallerExp $ */1 /* $Id: heapstring.cpp,v 1.49 2002-02-07 16:34:52 sandervl Exp $ */ 2 2 /* 3 3 * Project Odin Software License can be found in LICENSE.TXT … … 92 92 93 93 ODINFUNCTIONNODBG1(int, lstrlenW, 94 LPCWSTR, arg1) 95 { 96 int rc; 97 98 if(arg1 == NULL) { 94 LPCWSTR, str) 95 { 96 if(str == NULL) { 99 97 SetLastError( ERROR_INVALID_PARAMETER ); 100 98 return 0; 101 99 } 102 100 103 rc = UniStrlen( (UniChar*)arg1); 101 const WCHAR *s = str; 102 while (*s) s++; 104 103 dprintf2(("KERNEL32: lstrlenW(%08xh) returns %d\n", 105 arg1,106 rc)); 107 return rc;104 str, s - str)); 105 106 return s - str; 108 107 } 109 108 … … 149 148 150 149 ODINFUNCTIONNODBG2(LPWSTR, lstrcatW, 151 LPWSTR, arg1, 152 LPCWSTR, arg2) 153 { 154 dprintf2(("KERNEL32: OS2lstrcatW(%08xh,%08xh)\n", 155 arg1, 156 arg2)); 157 158 if(arg2 == NULL) 159 return arg1; 160 161 UniStrcat( (UniChar*) arg1, (UniChar*) arg2 ); 162 return arg1; 150 LPWSTR, dst, 151 LPCWSTR, src) 152 { 153 dprintf2(("KERNEL32: OS2lstrcatW(%08xh,%08xh)\n", 154 dst, src)); 155 156 if(src == NULL) 157 return dst; 158 159 strcpyW( dst + strlenW(dst), src ); 160 return dst; 163 161 } 164 162 … … 375 373 return NULL; 376 374 377 UniStrcpy( (UniChar*)dest, 378 (UniChar*)src ); 375 WCHAR *p = dest; 376 while ((*p++ = *src++)); 377 379 378 return dest; 380 379 } … … 432 431 433 432 ODINFUNCTION3(LPWSTR, lstrcpynW, 434 LPWSTR, d est,433 LPWSTR, dst, 435 434 LPCWSTR, src, 436 int, arg3) 437 { 438 if (arg3 == 0) 439 return NULL; 440 441 UniStrncpy( (UniChar*)dest, 442 (UniChar*)src, 443 arg3-1); //CB: copy arg3-1 characters 444 dest[arg3-1] = 0; //CB: set end 445 return dest; 435 int, n) 436 { 437 LPWSTR p = dst; 438 439 /* In real windows the whole function is protected by an exception handler 440 * that returns ERROR_INVALID_PARAMETER on faulty parameters 441 * We currently just check for NULL. 442 */ 443 if (!dst || !src) { 444 SetLastError(ERROR_INVALID_PARAMETER); 445 return 0; 446 } 447 while ((n-- > 1) && *src) *p++ = *src++; 448 if (n >= 0) *p = 0; 449 return dst; 446 450 } 447 451 … … 587 591 lstrcpynWtoA(ascii, 588 592 unicode, 589 UniStrlen((UniChar*)unicode)+1); //end included593 lstrlenW((UniChar*)unicode)+1); //end included 590 594 591 595 return ascii;
Note:
See TracChangeset
for help on using the changeset viewer.