Changeset 9400 for trunk/src/ole32/itemmoniker.c
- Timestamp:
- Nov 12, 2002, 6:07:48 PM (23 years ago)
- File:
-
- 1 edited
-
trunk/src/ole32/itemmoniker.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/ole32/itemmoniker.c
r8620 r9400 388 388 if (!This->itemName) 389 389 return E_OUTOFMEMORY; 390 strcpyW(This->itemName,lpszItem);390 lstrcpyW(This->itemName,lpszItem); 391 391 392 392 if (!lpszDelim) … … 395 395 delim = lpszDelim ? lpszDelim : emptystr; 396 396 397 sizeStr2= strlenW(delim);397 sizeStr2=lstrlenW(delim); 398 398 This->itemDelimiter=HeapAlloc(GetProcessHeap(),0,sizeof(WCHAR)*(sizeStr2+1)); 399 399 if (!This->itemDelimiter) { … … 401 401 return E_OUTOFMEMORY; 402 402 } 403 strcpyW(This->itemDelimiter,delim);403 lstrcpyW(This->itemDelimiter,delim); 404 404 return S_OK; 405 405 } … … 612 612 LPOLESTR dispName1,dispName2; 613 613 IBindCtx* bind; 614 HRESULT res ;614 HRESULT res = S_FALSE; 615 615 616 616 TRACE("(%p,%p)\n",iface,pmkOtherMoniker); 617 617 618 if (pmkOtherMoniker==NULL) 619 return S_FALSE; 620 621 /* This method returns S_OK if both monikers are item monikers and their display names are */ 622 /* identical (using a case-insensitive comparison); otherwise, the method returns S_FALSE. */ 623 624 IMoniker_GetClassID(pmkOtherMoniker,&clsid); 625 626 if (!IsEqualCLSID(&clsid,&CLSID_ItemMoniker)) 627 return S_FALSE; 628 629 res=CreateBindCtx(0,&bind); 630 if (FAILED(res)) 631 return res; 632 633 IMoniker_GetDisplayName(iface,bind,NULL,&dispName1); 634 IMoniker_GetDisplayName(pmkOtherMoniker,bind,NULL,&dispName2); 635 636 if (lstrcmpW(dispName1,dispName2)!=0) 637 return S_FALSE; 638 639 return S_OK; 618 if (!pmkOtherMoniker) return S_FALSE; 619 620 621 /* check if both are ItemMoniker */ 622 if(FAILED (IMoniker_GetClassID(pmkOtherMoniker,&clsid))) return S_FALSE; 623 if(!IsEqualCLSID(&clsid,&CLSID_ItemMoniker)) return S_FALSE; 624 625 /* check if both displaynames are the same */ 626 if(SUCCEEDED ((res = CreateBindCtx(0,&bind)))) { 627 if(SUCCEEDED (IMoniker_GetDisplayName(iface,bind,NULL,&dispName1))) { 628 if(SUCCEEDED (IMoniker_GetDisplayName(pmkOtherMoniker,bind,NULL,&dispName2))) { 629 if(lstrcmpW(dispName1,dispName2)==0) res = S_OK; 630 CoTaskMemFree(dispName2); 631 } 632 CoTaskMemFree(dispName1); 633 } 634 } 635 return res; 640 636 } 641 637 … … 843 839 return E_OUTOFMEMORY; 844 840 845 strcpyW(*ppszDisplayName,This->itemDelimiter);846 strcatW(*ppszDisplayName,This->itemName);841 lstrcpyW(*ppszDisplayName,This->itemDelimiter); 842 lstrcatW(*ppszDisplayName,This->itemName); 847 843 848 844 return S_OK;
Note:
See TracChangeset
for help on using the changeset viewer.
