- Timestamp:
- Oct 11, 2001, 4:13:18 AM (24 years ago)
- Location:
- trunk/src/shell32
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/shell32/pidl.c
r6999 r7012 42 42 #endif 43 43 44 45 /**************************************************************************** 46 * local prototypes 47 ****************************************************************************/ 48 49 LPITEMIDLIST _Optlink ODIN_ILGetNext(LPITEMIDLIST pidl); 50 LPITEMIDLIST _Optlink ODIN_ILClone (LPCITEMIDLIST pidl); 51 DWORD _Optlink ODIN_ILGetSize(LPITEMIDLIST pidl); 52 53 44 54 #if defined( __WIN32OS2__) && defined(DEBUG) 45 55 void pdump (LPCITEMIDLIST pidl) … … 83 93 pidltemp, pidltemp->mkid.cb,type,dwAttrib,szName,debugstr_a(szLongName), debugstr_a(szShortName)); 84 94 85 pidltemp = ILGetNext(pidltemp);95 pidltemp = ODIN_ILGetNext(pidltemp); 86 96 87 97 } while (pidltemp->mkid.cb); … … 151 161 } 152 162 } 153 pidltemp = ILGetNext(pidltemp);163 pidltemp = ODIN_ILGetNext(pidltemp); 154 164 } while (pidltemp->mkid.cb); 155 165 } … … 184 194 { 185 195 pidlLast = pidl; 186 pidl = ILGetNext(pidl);196 pidl = ODIN_ILGetNext(pidl); 187 197 } 188 198 return pidlLast; … … 219 229 return NULL; 220 230 221 len = ILGetSize(pidl);231 len = ODIN_ILGetSize(pidl); 222 232 newpidl = (LPITEMIDLIST)SHAlloc(len); 223 233 if (newpidl) … … 252 262 253 263 if (len) 254 ILGetNext(pidlNew)->mkid.cb = 0x00;264 ODIN_ILGetNext(pidlNew)->mkid.cb = 0x00; 255 265 } 256 266 } … … 328 338 { 329 339 wLen += sizeof(WORD) + pidl->mkid.cb; 330 pidl = ILGetNext(pidl);340 pidl = ODIN_ILGetNext(pidl); 331 341 } 332 342 … … 434 444 return NULL; 435 445 436 len = ILGetSize(pidl);446 len = ODIN_ILGetSize(pidl); 437 447 newpidl = (LPITEMIDLIST)pCOMCTL32_Alloc(len); 438 448 if (newpidl) … … 478 488 return FALSE; 479 489 480 pidltemp1 = ILGetNext(pidltemp1);481 pidltemp2 = ILGetNext(pidltemp2);490 pidltemp1 = ODIN_ILGetNext(pidltemp1); 491 pidltemp2 = ODIN_ILGetNext(pidltemp2); 482 492 } 483 493 … … 517 527 return FALSE; 518 528 519 pParent = ILGetNext(pParent);520 pChild = ILGetNext(pChild);529 pParent = ODIN_ILGetNext(pParent); 530 pChild = ODIN_ILGetNext(pChild); 521 531 } 522 532 … … 524 534 return FALSE; 525 535 526 if ( ILGetNext(pChild)->mkid.cb && bImmediate) /* not immediate descent */536 if ( ODIN_ILGetNext(pChild)->mkid.cb && bImmediate) /* not immediate descent */ 527 537 return FALSE; 528 538 … … 577 587 break; 578 588 579 pidltemp1 = ILGetNext(pidltemp1);580 pidltemp2 = ILGetNext(pidltemp2);589 pidltemp1 = ODIN_ILGetNext(pidltemp1); 590 pidltemp2 = ODIN_ILGetNext(pidltemp2); 581 591 ret = pidltemp2; 582 592 } … … 606 616 LPITEMIDLIST pidlNew; 607 617 608 TRACE("pidl=%p pidl=%p\n",pidl1,pidl2);609 618 610 619 if(!pidl1 && !pidl2) return NULL; … … 615 624 if(!pidl1) 616 625 { 617 pidlNew = ILClone(pidl2);626 pidlNew = ODIN_ILClone(pidl2); 618 627 return pidlNew; 619 628 } … … 621 630 if(!pidl2) 622 631 { 623 pidlNew = ILClone(pidl1);632 pidlNew = ODIN_ILClone(pidl1); 624 633 return pidlNew; 625 634 } 626 635 627 len1 = ILGetSize(pidl1)-2;628 len2 = ILGetSize(pidl2);636 len1 = ODIN_ILGetSize(pidl1)-2; 637 len2 = ODIN_ILGetSize(pidl2); 629 638 pidlNew = SHAlloc(len1+len2); 630 639 … … 709 718 710 719 /************************************************************************* 711 * ILGetNext [SHELL32.153]720 * ODIN_ILGetNext [SHELL32.153] 712 721 * gets the next simple pidl of a complex pidl 713 722 * … … 721 730 LPITEMIDLIST, pidl) 722 731 { 723 WORD len; 724 725 TRACE("(pidl=%p)\n",pidl); 726 727 if(pidl) 728 { 729 len = pidl->mkid.cb; 730 if (len) 731 { 732 pidl = (LPITEMIDLIST) (((LPBYTE)pidl)+len); 733 return pidl; 734 } 735 } 736 return NULL; 732 WORD len; 733 734 if(pidl) 735 { 736 len = pidl->mkid.cb; 737 if (len) 738 return (LPITEMIDLIST) (((LPBYTE)pidl)+len); 739 } 740 return NULL; 737 741 } 738 742 /************************************************************************* … … 759 763 if (_ILIsDesktop(pidl)) 760 764 { 761 idlRet = ILClone(item);765 idlRet = ODIN_ILClone(item); 762 766 if (pidl) 763 767 SHFree (pidl); … … 788 792 LPITEMIDLIST, pidl) 789 793 { 790 TRACE("(pidl=0x%08lx)\n",(DWORD)pidl); 791 792 if(!pidl) return FALSE; 793 SHFree(pidl); 794 return TRUE; 794 if(!pidl) 795 return FALSE; 796 SHFree(pidl); 797 return TRUE; 795 798 } 796 799 /************************************************************************* … … 1167 1170 /* we are on desktop level */ 1168 1171 if (ppidlLast) 1169 *ppidlLast = ILClone(pidl);1172 *ppidlLast = ODIN_ILClone(pidl); 1170 1173 hr = SHGetDesktopFolder((IShellFolder**)ppv); 1171 1174 } 1172 1175 else 1173 1176 { 1174 pidlChild = ILClone(ILFindLastID(pidl));1175 pidlParent = ILClone(pidl);1177 pidlChild = ODIN_ILClone(ILFindLastID(pidl)); 1178 pidlParent = ODIN_ILClone(pidl); 1176 1179 ILRemoveLastID(pidlParent); 1177 1180 … … 1432 1435 } 1433 1436 1434 pidlTemp = ILGetNext(pidlOut);1437 pidlTemp = ODIN_ILGetNext(pidlOut); 1435 1438 if (pidlTemp) 1436 1439 pidlTemp->mkid.cb = 0x00; … … 1452 1455 1453 1456 if(_ILIsMyComputer(pidl)) 1454 pidl = ILGetNext(pidl);1457 pidl = ODIN_ILGetNext(pidl); 1455 1458 1456 1459 if (pidl && _ILIsDrive(pidl)) … … 1944 1947 1945 1948 for(i = 0; i < cidl; i++) 1946 apidldest[i] = ILClone(apidlsrc[i]);1949 apidldest[i] = ODIN_ILClone(apidlsrc[i]); 1947 1950 1948 1951 return apidldest; … … 1962 1965 1963 1966 if (pidl) 1964 *pidl = ILClone((LPITEMIDLIST)(&((LPBYTE)cida)[cida->aoffset[0]]));1967 *pidl = ODIN_ILClone((LPITEMIDLIST)(&((LPBYTE)cida)[cida->aoffset[0]])); 1965 1968 1966 1969 for(i = 0; i < cida->cidl; i++) 1967 dst[i] = ILClone((LPITEMIDLIST)(&((LPBYTE)cida)[cida->aoffset[i + 1]]));1970 dst[i] = ODIN_ILClone((LPITEMIDLIST)(&((LPBYTE)cida)[cida->aoffset[i + 1]])); 1968 1971 1969 1972 return dst; -
trunk/src/shell32/shlfolder.c
r6776 r7012 36 36 37 37 38 /**************************************************************************** 39 * local prototypes 40 ****************************************************************************/ 41 42 DWORD _Optlink ODIN_ILFree (LPITEMIDLIST pidl); 43 LPITEMIDLIST _Optlink ODIN_ILCombine (LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2); 44 LPITEMIDLIST _Optlink ODIN_ILClone (LPCITEMIDLIST pidl); 45 LPITEMIDLIST _Optlink ODIN_ILCloneFirst (LPCITEMIDLIST pidl); 46 47 38 48 /*************************************************************************** 39 49 * debughelper: print out the return adress … … 119 129 IShellFolder_Release(psfChild); 120 130 121 pidlTemp = ILCombine(*pidlInOut, pidlOut);131 pidlTemp = ODIN_ILCombine(*pidlInOut, pidlOut); 122 132 123 133 if (pidlOut) 124 ILFree(pidlOut);125 } 126 127 ILFree(*pidlInOut);134 ODIN_ILFree(pidlOut); 135 } 136 137 ODIN_ILFree(*pidlInOut); 128 138 *pidlInOut = pidlTemp; 129 139 … … 160 170 if (SUCCEEDED(hr)) 161 171 { 162 absPidl = ILCombine (pidlRoot, pidlChild);172 absPidl = ODIN_ILCombine (pidlRoot, pidlChild); 163 173 hr = IPersistFolder_Initialize(pPersistFolder, absPidl); 164 174 IPersistFolder_Release(pPersistFolder); … … 187 197 pdump(pidl); 188 198 189 if ((pidlFirst = ILCloneFirst(pidl)))199 if ((pidlFirst = ODIN_ILCloneFirst(pidl))) 190 200 { 191 201 hr = IShellFolder_BindToObject(psf, pidlFirst, NULL, &IID_IShellFolder, (LPVOID*)&psfChild); … … 202 212 IShellFolder_Release(psfChild); 203 213 } 204 ILFree(pidlFirst);214 ODIN_ILFree(pidlFirst); 205 215 } 206 216 … … 518 528 int len; 519 529 520 sf->absPidl = ILCombine(This->absPidl, pidl); /* build a absolute pidl */530 sf->absPidl = ODIN_ILCombine(This->absPidl, pidl); /* build a absolute pidl */ 521 531 522 532 if (!_ILIsSpecialFolder(pidl)) /* only file system paths */ … … 752 762 && SUCCEEDED(IShellFolder_QueryInterface(pShellFolder, &IID_IPersistFolder, (LPVOID*)&pPersistFolder))) 753 763 { 754 absPidl = ILCombine (This->absPidl, pidl);764 absPidl = ODIN_ILCombine (This->absPidl, pidl); 755 765 IPersistFolder_Initialize(pPersistFolder, absPidl); 756 766 IPersistFolder_Release(pPersistFolder); … … 764 774 else if(_ILIsFolder(pidl)) 765 775 { 766 LPITEMIDLIST pidltemp = ILCloneFirst(pidl);776 LPITEMIDLIST pidltemp = ODIN_ILCloneFirst(pidl); 767 777 pShellFolder = IShellFolder_Constructor(iface, pidltemp); 768 ILFree(pidltemp);778 ODIN_ILFree(pidltemp); 769 779 } 770 780 else … … 888 898 if (pidl1 && pidl1->mkid.cb) /* go deeper? */ 889 899 { 890 pidlTemp = ILCloneFirst(pidl1);900 pidlTemp = ODIN_ILCloneFirst(pidl1); 891 901 pidl2 = ILGetNext(pidl2); 892 902 … … 898 908 hr = ResultFromShort(nReturn); 899 909 } 900 ILFree(pidlTemp);910 ODIN_ILFree(pidlTemp); 901 911 } 902 912 else … … 1054 1064 else if (IsEqualIID(riid, &IID_IExtractIconA) && (cidl == 1)) 1055 1065 { 1056 pidl = ILCombine(This->absPidl,apidl[0]);1066 pidl = ODIN_ILCombine(This->absPidl,apidl[0]); 1057 1067 pObj = (LPUNKNOWN)IExtractIconA_Constructor( pidl ); 1058 1068 SHFree(pidl); … … 1464 1474 pidlitem = SHSimpleIDListFromPathA(lpstrNewDir); 1465 1475 1466 pidl = ILCombine(This->absPidl, pidlitem);1476 pidl = ODIN_ILCombine(This->absPidl, pidlitem); 1467 1477 SHChangeNotifyA(SHCNE_MKDIR, SHCNF_IDLIST, pidl, NULL); 1468 1478 SHFree(pidl); … … 1529 1539 return E_FAIL; 1530 1540 } 1531 pidl = ILCombine(This->absPidl, apidl[i]);1541 pidl = ODIN_ILCombine(This->absPidl, apidl[i]); 1532 1542 SHChangeNotifyA(SHCNE_RMDIR, SHCNF_IDLIST, pidl, NULL); 1533 1543 SHFree(pidl); … … 1543 1553 return E_FAIL; 1544 1554 } 1545 pidl = ILCombine(This->absPidl, apidl[i]);1555 pidl = ODIN_ILCombine(This->absPidl, apidl[i]); 1546 1556 SHChangeNotifyA(SHCNE_DELETE, SHCNF_IDLIST, pidl, NULL); 1547 1557 SHFree(pidl); … … 1796 1806 /* combine pidls */ 1797 1807 SHGetSpecialFolderLocation(0, CSIDL_DESKTOPDIRECTORY, &deskpidl); 1798 firstpidl = ILCloneFirst(pidl);1799 completepidl = ILCombine(deskpidl, firstpidl);1808 firstpidl = ODIN_ILCloneFirst(pidl); 1809 completepidl = ODIN_ILCombine(deskpidl, firstpidl); 1800 1810 1801 1811 pShellFolder = IShellFolder_Constructor(NULL, NULL); … … 1805 1815 IPersistFolder_Release(ppf); 1806 1816 } 1807 ILFree(completepidl);1808 ILFree(deskpidl);1809 ILFree(firstpidl);1817 ODIN_ILFree(completepidl); 1818 ODIN_ILFree(deskpidl); 1819 ODIN_ILFree(firstpidl); 1810 1820 } 1811 1821 … … 2228 2238 if (!_ILIsDrive(pidl)) return E_INVALIDARG; 2229 2239 2230 pidltemp = ILCloneFirst(pidl);2240 pidltemp = ODIN_ILCloneFirst(pidl); 2231 2241 pShellFolder = IShellFolder_Constructor(iface, pidltemp); 2232 ILFree(pidltemp);2242 ODIN_ILFree(pidltemp); 2233 2243 } 2234 2244
Note:
See TracChangeset
for help on using the changeset viewer.