shell32 patch 15

Martin Fuchs martin-fuchs at gmx.net
Wed Jan 21 14:15:18 CST 2004


Changelog:
- IShellFolder_fnParseDisplayName(): return E_INVALIDARG instead of E_OUTOFMEMORY
- IShellFolder_fnGetUIObjectOf(): preserve return error codes
- IShellFolder_fnGetDisplayNameOf(): optimization; don't initialize whole character array with zero, zero termination is enough.


Index: shfldr_fs.c
===================================================================
RCS file: /home/wine/wine/dlls/shell32/shfldr_fs.c,v
retrieving revision 1.18
diff -u -p -d -r1.18 shfldr_fs.c
--- shfldr_fs.c	20 Jan 2004 01:37:24 -0000	1.18
+++ shfldr_fs.c	21 Jan 2004 20:14:33 -0000
@@ -325,7 +325,7 @@ IShellFolder_fnParseDisplayName (IShellF
 {
     _ICOM_THIS_From_IShellFolder2 (IGenericSFImpl, iface)
 
-    HRESULT hr = E_OUTOFMEMORY;
+    HRESULT hr = E_INVALIDARG;
     LPCWSTR szNext = NULL;
     WCHAR szElement[MAX_PATH];
     CHAR szPath[MAX_PATH];
@@ -583,7 +583,7 @@ IShellFolder_fnGetUIObjectOf (IShellFold
 	    hr = E_NOINTERFACE;
 	}
 
-	if (!pObj)
+	if (SUCCEEDED(hr) && !pObj)
 	    hr = E_OUTOFMEMORY;
 
 	*ppvOut = pObj;
@@ -652,9 +652,11 @@ IShellFolder_fnGetDisplayNameOf (IShellF
 {
     _ICOM_THIS_From_IShellFolder2 (IGenericSFImpl, iface)
 
-    CHAR szPath[MAX_PATH] = "";
+    CHAR szPath[MAX_PATH];
     int len = 0;
     BOOL bSimplePidl;
+
+	*szPath = '\0';
 
     TRACE ("(%p)->(pidl=%p,0x%08lx,%p)\n", This, pidl, dwFlags, strRet);
     pdump (pidl);





More information about the wine-patches mailing list