Changeset 7064 for trunk/src/kernel32/heapstring.cpp
- Timestamp:
- Oct 15, 2001, 7:15:13 PM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kernel32/heapstring.cpp
r7063 r7064 1 /* $Id: heapstring.cpp,v 1.45 2001-10-15 17:10:54 sandervl Exp $ */2 3 1 /* 4 2 * Project Odin Software License can be found in LICENSE.TXT … … 53 51 *****************************************************************************/ 54 52 55 int WIN32API lstrlenA(LPCSTR arg1) 53 ODINFUNCTIONNODBG1(int, lstrlenA, 54 LPCSTR, arg1) 56 55 { 57 56 dprintf2(("KERNEL32: lstrlenA(%s)\n", … … 78 77 *****************************************************************************/ 79 78 80 int WIN32API lstrlenW(LPCWSTR arg1) 79 ODINFUNCTIONNODBG1(int, lstrlenW, 80 LPCWSTR, arg1) 81 81 { 82 82 int rc; … … 107 107 *****************************************************************************/ 108 108 109 LPSTR WIN32API lstrcatA(LPSTR arg1, LPCSTR arg2) 109 ODINFUNCTIONNODBG2(LPSTR, lstrcatA, 110 LPSTR, arg1, 111 LPCSTR, arg2) 110 112 { 111 113 dprintf2(("KERNEL32: lstrcat(%s,%s)\n", … … 132 134 *****************************************************************************/ 133 135 134 LPWSTR WIN32API lstrcatW(LPWSTR arg1, LPCWSTR arg2) 136 ODINFUNCTIONNODBG2(LPWSTR, lstrcatW, 137 LPWSTR, arg1, 138 LPCWSTR, arg2) 135 139 { 136 140 dprintf2(("KERNEL32: OS2lstrcatW(%08xh,%08xh)\n", … … 158 162 *****************************************************************************/ 159 163 160 int WIN32API lstrcmpA(LPCSTR arg1, LPCSTR arg2) 164 ODINFUNCTIONNODBG2(int, lstrcmpA, 165 LPCSTR, arg1, 166 LPCSTR, arg2) 161 167 { 162 168 dprintf2(("KERNEL32: OS2lstrcmpA(%s,%s)\n", … … 185 191 *****************************************************************************/ 186 192 187 int WIN32API lstrncmpA(LPCSTR arg1, LPCSTR arg2, int l) 193 ODINFUNCTIONNODBG3(int, lstrncmpA, 194 LPCSTR, arg1, 195 LPCSTR, arg2, 196 int, l) 188 197 { 189 198 dprintf2(("KERNEL32: OS2lstrncmpA(%s,%s,%d)\n", … … 206 215 * Author : Przemyslaw Dobrowolski 207 216 *****************************************************************************/ 208 INT WINAPI lstrncmpiA( LPCSTR str1, LPCSTR str2, INT n ) 217 ODINFUNCTIONNODBG3(INT, lstrncmpiA, 218 LPCSTR, str1, 219 LPCSTR, str2, 220 INT, n ) 209 221 { 210 222 INT firstch,lastch; … … 227 239 } 228 240 //TODO: Don't know if this is completely correct 229 int WIN32API lstrncmpiW(LPCWSTR str1, LPCWSTR str2, int n) 241 ODINFUNCTIONNODBG3(int, lstrncmpiW, 242 LPCWSTR, str1, 243 LPCWSTR, str2, 244 int, n) 230 245 { 231 246 INT firstch,lastch; … … 260 275 *****************************************************************************/ 261 276 262 int WIN32API lstrcmpW(LPCWSTR arg1, LPCWSTR arg2) 277 ODINFUNCTIONNODBG2(int, lstrcmpW, 278 LPCWSTR, arg1, 279 LPCWSTR, arg2) 263 280 { 264 281 dprintf2(("KERNEL32: lstrcmpW (%08xh, %08xh)\n", … … 287 304 *****************************************************************************/ 288 305 289 int WIN32API lstrncmpW(LPCWSTR arg1, LPCWSTR arg2, int l) 306 ODINFUNCTIONNODBG3(int, lstrncmpW, 307 LPCWSTR, arg1, 308 LPCWSTR, arg2, 309 int, l) 290 310 { 291 311 dprintf2(("KERNEL32: OS2lstrncmpW(%08xh,%08xh,%d)\n", … … 311 331 *****************************************************************************/ 312 332 313 LPSTR WIN32API lstrcpyA(LPSTR dest, LPCSTR src) 333 ODINFUNCTIONNODBG2(LPSTR, lstrcpyA, 334 LPSTR, dest, 335 LPCSTR, src) 314 336 { 315 337 if ( (src == NULL) || (dest == NULL) ) // stupid parameter checking … … 332 354 *****************************************************************************/ 333 355 334 LPWSTR WIN32API lstrcpyW(LPWSTR dest, LPCWSTR src) 356 ODINFUNCTIONNODBG2(LPWSTR, lstrcpyW, 357 LPWSTR, dest, 358 LPCWSTR, src) 335 359 { 336 360 if ( (src == NULL) || (dest == NULL) ) // stupid parameter checking … … 355 379 *****************************************************************************/ 356 380 357 LPSTR WIN32API lstrcpynA(LPSTR arg1, LPCSTR arg2, int arg3) 381 ODINFUNCTIONNODBG3(LPSTR, lstrcpynA, 382 LPSTR, arg1, 383 LPCSTR, arg2, 384 int, arg3) 358 385 { 359 386 register LPSTR p1 = arg1; 360 387 register LPSTR p2 = (LPSTR)arg2; 361 362 dprintf2(("KERNEL32: OS2lstrcpyA(%08xh, %08xh, %08xh)\n",363 arg1,364 arg2,365 arg3));366 388 367 389 if(arg3 == 0) { … … 395 417 *****************************************************************************/ 396 418 397 LPWSTR WIN32API lstrcpynW(LPWSTR dest, LPCWSTR src, int arg3) 398 { 399 dprintf2(("KERNEL32: lstrcpynW(%08xh,%08xh,%08xh)", 400 dest, 401 src, 402 arg3)); 403 419 ODINFUNCTION3(LPWSTR, lstrcpynW, 420 LPWSTR, dest, 421 LPCWSTR, src, 422 int, arg3) 423 { 404 424 if (arg3 == 0) 405 425 return NULL; … … 425 445 *****************************************************************************/ 426 446 427 int WIN32API lstrcmpiA(LPCSTR arg1, LPCSTR arg2) 447 ODINFUNCTIONNODBG2(int, lstrcmpiA, 448 LPCSTR, arg1, 449 LPCSTR, arg2) 428 450 { 429 451 dprintf2(("KERNEL32: lstrcmpiA(%s,%s)\n", … … 453 475 *****************************************************************************/ 454 476 455 int WIN32API lstrcmpiW(LPCWSTR str1, LPCWSTR str2) 456 { 457 dprintf2(("KERNEL32: lstrcmpiW(%08xh,%08xh)", str1, str2)); 458 459 if (!str1 || !str2) { 460 SetLastError(ERROR_INVALID_PARAMETER); 461 return 0; 462 } 463 return strcmpiW( str1, str2 ); 477 ODINFUNCTIONNODBG2(int, lstrcmpiW, 478 LPCWSTR, str1, 479 LPCWSTR, str2) 480 { 481 if (!str1 || !str2) { 482 483 SetLastError(ERROR_INVALID_PARAMETER); 484 return 0; 485 } 486 return strcmpiW( str1, str2 ); 464 487 } 465 488 … … 468 491 //because Wine code depends on this behaviour (i.e. comdlg32) 469 492 //***************************************************************************** 470 int WIN32API lstrcpynWtoA(LPSTR astring, 471 LPCWSTR ustring, 472 int length) 493 ODINFUNCTIONNODBG3(int, lstrcpynWtoA, 494 LPSTR, astring, 495 LPCWSTR, ustring, 496 int, length) 473 497 { 474 498 int ret; … … 492 516 //lstrcpynWtoA and lstrcpynAtoW must zero-terminate the string 493 517 //because Wine code depends on this behaviour (i.e. comdlg32) 494 int WIN32API lstrcpynAtoW(LPWSTR unicode, 495 LPCSTR ascii, 496 int asciilen) 518 ODINFUNCTIONNODBG3(int, lstrcpynAtoW, 519 LPWSTR, unicode, 520 LPCSTR, ascii, 521 int , asciilen) 497 522 { 498 523 int ret; … … 528 553 *****************************************************************************/ 529 554 530 LPSTR WIN32API lstrcpyWtoA(LPSTR ascii, LPCWSTR unicode) 555 ODINFUNCTIONNODBG2(LPSTR, lstrcpyWtoA, 556 LPSTR, ascii, 557 LPCWSTR, unicode) 531 558 { 532 559 //@@@PH huh? wuz dat? … … 564 591 *****************************************************************************/ 565 592 566 LPWSTR WIN32API lstrcpyAtoW(LPWSTR unicode, LPCSTR ascii) 593 ODINFUNCTIONNODBG2(LPWSTR, lstrcpyAtoW, 594 LPWSTR, unicode, 595 LPCSTR, ascii) 567 596 { 568 597 /* achimha for security, strlen might trap if garbage in */ … … 600 629 *****************************************************************************/ 601 630 602 LPVOID WIN32API HEAP_xalloc( HANDLE heap, DWORD flags, DWORD size ) 631 ODINFUNCTIONNODBG3(LPVOID, HEAP_xalloc, 632 HANDLE, heap, 633 DWORD, flags, 634 DWORD, size ) 603 635 { 604 636 LPVOID p = HeapAlloc( heap, flags, size ); … … 626 658 *****************************************************************************/ 627 659 628 LPVOID WIN32API HEAP_xrealloc( HANDLE heap, DWORD flags, LPVOID lpMem, DWORD size ) 660 ODINFUNCTIONNODBG4(LPVOID, HEAP_xrealloc, 661 HANDLE, heap, 662 DWORD, flags, 663 LPVOID, lpMem, 664 DWORD, size ) 629 665 { 630 666 LPVOID p = HeapReAlloc( heap, flags, lpMem, size ); … … 653 689 *****************************************************************************/ 654 690 655 LPVOID WIN32API HEAP_malloc(DWORD size ) 691 ODINFUNCTIONNODBG1(LPVOID, HEAP_malloc, 692 DWORD, size ) 656 693 { 657 694 LPVOID p = HeapAlloc( GetProcessHeap(), 0, size ); … … 677 714 *****************************************************************************/ 678 715 679 DWORD WIN32API HEAP_size(LPVOID lpMem) 716 ODINFUNCTIONNODBG1(DWORD, HEAP_size, 717 LPVOID, lpMem) 680 718 { 681 719 return HeapSize( GetProcessHeap(), 0, lpMem ); … … 695 733 *****************************************************************************/ 696 734 697 LPVOID WIN32API HEAP_realloc(LPVOID lpMem, DWORD size ) 735 ODINFUNCTIONNODBG2(LPVOID, HEAP_realloc, 736 LPVOID, lpMem, 737 DWORD, size ) 698 738 { 699 739 LPVOID p = HeapReAlloc( GetProcessHeap(), 0, lpMem, size ); … … 720 760 *****************************************************************************/ 721 761 722 VOID WIN32API HEAP_free(LPVOID lpMem) 723 { 724 dprintf2(("KERNEL32: HEAP_free(%08xh)\n", 725 lpMem)); 726 762 ODINPROCEDURENODBG1(HEAP_free, 763 LPVOID, lpMem) 764 { 727 765 HeapFree( GetProcessHeap(), 0, lpMem); 728 766 } … … 741 779 *****************************************************************************/ 742 780 743 LPSTR WIN32API HEAP_strdupA( HANDLE heap, DWORD flags, LPCSTR str ) 744 { 745 LPSTR p = (LPSTR)HEAP_xalloc( heap, flags, lstrlenA(str) + 1 ); 746 lstrcpyA( p, str ); 747 return p; 748 } 749 750 751 /***************************************************************************** 752 * Name : 753 * Purpose : 754 * Parameters: 755 * Variables : 756 * Result : 757 * Remark : 758 * Status : 759 * 760 * Author : Patrick Haller [Thu, 1999/08/05 20:46] 761 *****************************************************************************/ 762 763 LPWSTR WIN32API HEAP_strdupW( HANDLE heap, DWORD flags, LPCWSTR str ) 781 ODINFUNCTIONNODBG3(LPSTR, HEAP_strdupA, 782 HANDLE, heap, 783 DWORD, flags, 784 LPCSTR, str ) 785 { 786 int iLength = lstrlenA(str) + 1; 787 LPSTR p = (LPSTR)HEAP_xalloc( heap, flags, iLength ); 788 memcpy( p, str, iLength ); 789 return p; 790 } 791 792 793 /***************************************************************************** 794 * Name : 795 * Purpose : 796 * Parameters: 797 * Variables : 798 * Result : 799 * Remark : 800 * Status : 801 * 802 * Author : Patrick Haller [Thu, 1999/08/05 20:46] 803 *****************************************************************************/ 804 805 ODINFUNCTIONNODBG3(LPWSTR, HEAP_strdupW, 806 HANDLE, heap, 807 DWORD, flags, 808 LPCWSTR, str ) 764 809 { 765 810 INT len = lstrlenW(str) + 1; 766 811 LPWSTR p = (LPWSTR)HEAP_xalloc( heap, flags, len * sizeof(WCHAR) ); 767 lstrcpyW( p, str);812 memcpy( p, str, len ); 768 813 return p; 769 814 } … … 782 827 *****************************************************************************/ 783 828 784 LPWSTR WIN32API HEAP_strdupAtoW( HANDLE heap, DWORD flags, LPCSTR str ) 829 ODINFUNCTIONNODBG3(LPWSTR, HEAP_strdupAtoW, 830 HANDLE, heap, 831 DWORD, flags, 832 LPCSTR, str ) 785 833 { 786 834 LPWSTR ret; … … 809 857 *****************************************************************************/ 810 858 811 LPSTR WIN32API HEAP_strdupWtoA( HANDLE heap, DWORD flags, LPCWSTR str ) 859 ODINFUNCTIONNODBG3(LPSTR, HEAP_strdupWtoA, 860 HANDLE, heap, 861 DWORD, flags, 862 LPCWSTR, str ) 812 863 { 813 864 LPSTR ret;
Note:
See TracChangeset
for help on using the changeset viewer.