Ignore:
Timestamp:
Oct 11, 2001, 4:13:18 AM (24 years ago)
Author:
phaller
Message:

performance improvement

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/shell32/pidl.c

    r6999 r7012  
    4242#endif
    4343
     44
     45/****************************************************************************
     46 * local prototypes
     47 ****************************************************************************/
     48
     49LPITEMIDLIST _Optlink ODIN_ILGetNext(LPITEMIDLIST pidl);
     50LPITEMIDLIST _Optlink ODIN_ILClone  (LPCITEMIDLIST pidl);
     51DWORD        _Optlink ODIN_ILGetSize(LPITEMIDLIST pidl);
     52
     53
    4454#if defined( __WIN32OS2__) && defined(DEBUG)
    4555void pdump (LPCITEMIDLIST pidl)
     
    8393                       pidltemp, pidltemp->mkid.cb,type,dwAttrib,szName,debugstr_a(szLongName), debugstr_a(szShortName));
    8494
    85               pidltemp = ILGetNext(pidltemp);
     95              pidltemp = ODIN_ILGetNext(pidltemp);
    8696
    8797            } while (pidltemp->mkid.cb);
     
    151161              }
    152162            }
    153             pidltemp = ILGetNext(pidltemp);
     163            pidltemp = ODIN_ILGetNext(pidltemp);
    154164          } while (pidltemp->mkid.cb);
    155165        }
     
    184194        {
    185195          pidlLast = pidl;
    186           pidl = ILGetNext(pidl);
     196          pidl = ODIN_ILGetNext(pidl);
    187197        }
    188198        return pidlLast;               
     
    219229    return NULL;
    220230   
    221   len = ILGetSize(pidl);
     231  len = ODIN_ILGetSize(pidl);
    222232  newpidl = (LPITEMIDLIST)SHAlloc(len);
    223233  if (newpidl)
     
    252262
    253263            if (len)
    254               ILGetNext(pidlNew)->mkid.cb = 0x00;
     264              ODIN_ILGetNext(pidlNew)->mkid.cb = 0x00;
    255265          }
    256266        }
     
    328338        {
    329339          wLen += sizeof(WORD) + pidl->mkid.cb;
    330           pidl = ILGetNext(pidl);
     340          pidl = ODIN_ILGetNext(pidl);
    331341        }
    332342
     
    434444          return NULL;
    435445   
    436         len = ILGetSize(pidl);
     446        len = ODIN_ILGetSize(pidl);
    437447        newpidl = (LPITEMIDLIST)pCOMCTL32_Alloc(len);
    438448        if (newpidl)
     
    478488              return FALSE;
    479489
    480             pidltemp1 = ILGetNext(pidltemp1);
    481             pidltemp2 = ILGetNext(pidltemp2);
     490            pidltemp1 = ODIN_ILGetNext(pidltemp1);
     491            pidltemp2 = ODIN_ILGetNext(pidltemp2);
    482492        }       
    483493
     
    517527            return FALSE;
    518528
    519           pParent = ILGetNext(pParent);
    520           pChild = ILGetNext(pChild);
     529          pParent = ODIN_ILGetNext(pParent);
     530          pChild = ODIN_ILGetNext(pChild);
    521531        }       
    522532       
     
    524534          return FALSE;
    525535       
    526         if ( ILGetNext(pChild)->mkid.cb && bImmediate)  /* not immediate descent */
     536        if ( ODIN_ILGetNext(pChild)->mkid.cb && bImmediate)     /* not immediate descent */
    527537          return FALSE;
    528538       
     
    577587              break;
    578588
    579             pidltemp1 = ILGetNext(pidltemp1);
    580             pidltemp2 = ILGetNext(pidltemp2);
     589            pidltemp1 = ODIN_ILGetNext(pidltemp1);
     590            pidltemp2 = ODIN_ILGetNext(pidltemp2);
    581591            ret = pidltemp2;   
    582592          }
     
    606616        LPITEMIDLIST  pidlNew;
    607617       
    608         TRACE("pidl=%p pidl=%p\n",pidl1,pidl2);
    609618
    610619        if(!pidl1 && !pidl2) return NULL;
     
    615624        if(!pidl1)
    616625        {
    617           pidlNew = ILClone(pidl2);
     626          pidlNew = ODIN_ILClone(pidl2);
    618627          return pidlNew;
    619628        }
     
    621630        if(!pidl2)
    622631        {
    623           pidlNew = ILClone(pidl1);
     632          pidlNew = ODIN_ILClone(pidl1);
    624633          return pidlNew;
    625634        }
    626635
    627         len1  = ILGetSize(pidl1)-2;
    628         len2  = ILGetSize(pidl2);
     636        len1  = ODIN_ILGetSize(pidl1)-2;
     637        len2  = ODIN_ILGetSize(pidl2);
    629638        pidlNew  = SHAlloc(len1+len2);
    630639
     
    709718
    710719/*************************************************************************
    711  * ILGetNext [SHELL32.153]
     720 * ODIN_ILGetNext [SHELL32.153]
    712721 *  gets the next simple pidl of a complex pidl
    713722 *
     
    721730              LPITEMIDLIST, pidl)
    722731{
    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;
    737741}
    738742/*************************************************************************
     
    759763        if (_ILIsDesktop(pidl))
    760764        {
    761            idlRet = ILClone(item);
     765           idlRet = ODIN_ILClone(item);
    762766           if (pidl)
    763767             SHFree (pidl);
     
    788792              LPITEMIDLIST, pidl)
    789793{
    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;
    795798}
    796799/*************************************************************************
     
    11671170          /* we are on desktop level */
    11681171          if (ppidlLast)
    1169             *ppidlLast = ILClone(pidl);
     1172            *ppidlLast = ODIN_ILClone(pidl);
    11701173          hr = SHGetDesktopFolder((IShellFolder**)ppv);
    11711174        }
    11721175        else
    11731176        {
    1174           pidlChild =  ILClone(ILFindLastID(pidl));
    1175           pidlParent = ILClone(pidl);
     1177          pidlChild =  ODIN_ILClone(ILFindLastID(pidl));
     1178          pidlParent = ODIN_ILClone(pidl);
    11761179          ILRemoveLastID(pidlParent);
    11771180
     
    14321435        }
    14331436       
    1434         pidlTemp = ILGetNext(pidlOut);
     1437        pidlTemp = ODIN_ILGetNext(pidlOut);
    14351438        if (pidlTemp)
    14361439          pidlTemp->mkid.cb = 0x00;
     
    14521455
    14531456        if(_ILIsMyComputer(pidl))
    1454           pidl = ILGetNext(pidl);
     1457          pidl = ODIN_ILGetNext(pidl);
    14551458
    14561459        if (pidl && _ILIsDrive(pidl))
     
    19441947
    19451948        for(i = 0; i < cidl; i++)
    1946           apidldest[i] = ILClone(apidlsrc[i]);
     1949          apidldest[i] = ODIN_ILClone(apidlsrc[i]);
    19471950
    19481951        return apidldest;
     
    19621965
    19631966        if (pidl)
    1964           *pidl = ILClone((LPITEMIDLIST)(&((LPBYTE)cida)[cida->aoffset[0]]));
     1967          *pidl = ODIN_ILClone((LPITEMIDLIST)(&((LPBYTE)cida)[cida->aoffset[0]]));
    19651968
    19661969        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]]));
    19681971
    19691972        return dst;
Note: See TracChangeset for help on using the changeset viewer.