Ignore:
Timestamp:
Aug 18, 2000, 4:01:27 AM (25 years ago)
Author:
phaller
Message:

Synchronized shell32 with wine

File:
1 edited

Legend:

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

    r3469 r4032  
    1 /* $Id: pidl.cpp,v 1.8 2000-05-01 01:33:25 phaller Exp $ */
     1/* $Id: pidl.cpp,v 1.9 2000-08-18 02:01:17 phaller Exp $ */
    22
    33/*
     
    748748     return FALSE;
    749749
    750    return SHFree(pidl);
     750  SHFree(pidl);
     751  return TRUE;
    751752}
    752753/*************************************************************************
     
    755756 */
    756757
    757 ODINFUNCTION1(DWORD,ILGlobalFree,LPITEMIDLIST, pidl)
     758ODINPROCEDURE1(ILGlobalFree,
     759               LPITEMIDLIST, pidl)
    758760{
    759761   TRACE_(pidl)("%p\n",pidl);
    760762
    761    if (!pidl)
    762      return FALSE;
    763 
    764    return pCOMCTL32_Free (pidl);
     763   if (pidl)
     764     pCOMCTL32_Free (pidl);
    765765}
    766766/*************************************************************************
     
    803803 */
    804804
    805 ODINFUNCTION1(LPITEMIDLIST,SHSimpleIDListFromPathA,LPSTR, lpszPath)
     805ODINFUNCTION1(LPITEMIDLIST,SHSimpleIDListFromPathA,LPCSTR, lpszPath)
    806806{
    807807   LPITEMIDLIST   pidl=NULL;
     
    828828}
    829829
    830 ODINFUNCTION1(LPITEMIDLIST,SHSimpleIDListFromPathW,LPWSTR, lpszPath)
     830ODINFUNCTION1(LPITEMIDLIST,SHSimpleIDListFromPathW,LPCWSTR, lpszPath)
    831831{
    832832   char  lpszTemp[MAX_PATH];
    833833
    834    WideCharToLocal(lpszTemp, lpszPath, MAX_PATH);
     834   WideCharToLocal(lpszTemp, (LPWSTR)lpszPath, MAX_PATH);
    835835
    836836   return SHSimpleIDListFromPathA (lpszTemp);
    837837}
    838838
    839 ODINFUNCTION1(LPITEMIDLIST,SHSimpleIDListFromPathAW,LPVOID, lpszPath)
     839ODINFUNCTION1(LPITEMIDLIST,SHSimpleIDListFromPathAW,LPCVOID, lpszPath)
    840840{
    841841   if ( VERSION_OsIsUnicode())
     
    18781878    WORD wAttrib = 0;
    18791879    int i;
    1880 
     1880 
     1881    if (! pData) return 0;
     1882 
    18811883    switch(pData->type)
    18821884    {
     
    18881890            break;
    18891891    }
     1892 
    18901893    if(uOutSize >= 6)
    18911894    {
     
    19161919}
    19171920
     1921
     1922/*************************************************************************
     1923* ILFreeaPidl
     1924*
     1925* free a aPidl struct
     1926*/
     1927ODINPROCEDURE2(_ILFreeaPidl,
     1928               LPITEMIDLIST *, apidl,
     1929               UINT, cidl)
     1930{
     1931        int   i;
     1932
     1933        if(apidl)
     1934        {
     1935          for(i = 0; i < cidl; i++) SHFree(apidl[i]);
     1936          SHFree(apidl);
     1937        }
     1938}
     1939
     1940/*************************************************************************
     1941* ILCopyaPidl
     1942*
     1943* copys a aPidl struct
     1944*/
     1945ODINFUNCTION2(LPITEMIDLIST *,_ILCopyaPidl,
     1946              LPITEMIDLIST *,apidlsrc,
     1947              UINT,          cidl)
     1948{
     1949        int i;
     1950        LPITEMIDLIST * apidldest = (LPITEMIDLIST*)SHAlloc(cidl * sizeof(LPITEMIDLIST));
     1951        if(!apidlsrc) return NULL;
     1952
     1953        for(i = 0; i < cidl; i++)
     1954          apidldest[i] = ILClone(apidlsrc[i]);
     1955
     1956        return apidldest;
     1957}
     1958
     1959/*************************************************************************
     1960* _ILCopyCidaToaPidl
     1961*
     1962* creates aPidl from CIDA
     1963*/
     1964ODINFUNCTION2(LPITEMIDLIST*, _ILCopyCidaToaPidl,
     1965              LPITEMIDLIST*, pidl,
     1966              LPCIDA,        cida)
     1967{
     1968        int i;
     1969        LPITEMIDLIST * dst = (LPITEMIDLIST*)SHAlloc(cida->cidl * sizeof(LPITEMIDLIST));
     1970
     1971        if(!dst) return NULL;
     1972
     1973        if (pidl)
     1974          *pidl = ILClone((LPITEMIDLIST)(&((LPBYTE)cida)[cida->aoffset[0]]));
     1975
     1976        for(i = 0; i < cida->cidl; i++)
     1977          dst[i] = ILClone((LPITEMIDLIST)(&((LPBYTE)cida)[cida->aoffset[i + 1]]));
     1978
     1979        return dst;
     1980}
Note: See TracChangeset for help on using the changeset viewer.