Christian Costa : d3dxof: Improve error handling.

Alexandre Julliard julliard at winehq.org
Mon Dec 15 08:27:09 CST 2008


Module: wine
Branch: master
Commit: 044701357262808fc4cd17366e2110e2ddd27f7a
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=044701357262808fc4cd17366e2110e2ddd27f7a

Author: Christian Costa <titan.costa at wanadoo.fr>
Date:   Sun Dec 14 18:55:10 2008 +0100

d3dxof: Improve error handling.

---

 dlls/d3dxof/d3dxof.c |   42 +++++++++++++++++++++++++++++++-----------
 1 files changed, 31 insertions(+), 11 deletions(-)

diff --git a/dlls/d3dxof/d3dxof.c b/dlls/d3dxof/d3dxof.c
index 4be62bd..25334c2 100644
--- a/dlls/d3dxof/d3dxof.c
+++ b/dlls/d3dxof/d3dxof.c
@@ -147,7 +147,12 @@ HRESULT IDirectXFileImpl_Create(IUnknown* pUnkOuter, LPVOID* ppObj)
     TRACE("(%p,%p)\n", pUnkOuter, ppObj);
       
     object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectXFileImpl));
-    
+    if (!object)
+    {
+        ERR("Out of memory\n");
+        return DXFILEERR_BADALLOC;
+    }
+
     object->lpVtbl.lpVtbl = &IDirectXFile_Vtbl;
     object->ref = 1;
 
@@ -310,7 +315,7 @@ static HRESULT WINAPI IDirectXFileImpl_CreateEnumObject(IDirectXFile* iface, LPV
     object->buf.buffer = HeapAlloc(GetProcessHeap(), 0, MAX_INPUT_SIZE+1);
     if (!object->buf.buffer)
     {
-      WARN("Out of memory\n");
+      ERR("Out of memory\n");
       hr = DXFILEERR_BADALLOC;
       goto error;
     }
@@ -1452,7 +1457,12 @@ static HRESULT IDirectXFileDataImpl_Create(IDirectXFileDataImpl** ppObj)
     TRACE("(%p)\n", ppObj);
       
     object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectXFileDataImpl));
-    
+    if (!object)
+    {
+        ERR("Out of memory\n");
+        return DXFILEERR_BADALLOC;
+    }
+
     object->lpVtbl.lpVtbl = &IDirectXFileData_Vtbl;
     object->ref = 1;
 
@@ -1597,8 +1607,8 @@ static HRESULT WINAPI IDirectXFileDataImpl_GetNextObject(IDirectXFileData* iface
     IDirectXFileDataReferenceImpl *object;
 
     hr = IDirectXFileDataReferenceImpl_Create(&object);
-    if (hr != S_OK)
-      return DXFILEERR_BADVALUE;
+    if (FAILED(hr))
+      return hr;
 
     object->ptarget = This->pobj->childs[This->cur_enum_object++]->ptarget;
 
@@ -1609,8 +1619,8 @@ static HRESULT WINAPI IDirectXFileDataImpl_GetNextObject(IDirectXFileData* iface
     IDirectXFileDataImpl *object;
 
     hr = IDirectXFileDataImpl_Create(&object);
-    if (hr != S_OK)
-      return DXFILEERR_BADVALUE;
+    if (FAILED(hr))
+      return hr;
 
     object->pobj = This->pobj->childs[This->cur_enum_object++];
     object->cur_enum_object = 0;
@@ -1672,6 +1682,11 @@ static HRESULT IDirectXFileDataReferenceImpl_Create(IDirectXFileDataReferenceImp
     TRACE("(%p)\n", ppObj);
       
     object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectXFileDataReferenceImpl));
+    if (!object)
+    {
+        ERR("Out of memory\n");
+        return DXFILEERR_BADALLOC;
+    }
     
     object->lpVtbl.lpVtbl = &IDirectXFileDataReference_Vtbl;
     object->ref = 1;
@@ -1770,8 +1785,8 @@ static HRESULT WINAPI IDirectXFileDataReferenceImpl_Resolve(IDirectXFileDataRefe
     return DXFILEERR_BADVALUE;
 
   hr = IDirectXFileDataImpl_Create(&object);
-  if (hr != S_OK)
-    return DXFILEERR_BADVALUE;
+  if (FAILED(hr))
+    return hr;
 
   object->pobj = This->ptarget;
   object->cur_enum_object = 0;
@@ -1800,6 +1815,11 @@ static HRESULT IDirectXFileEnumObjectImpl_Create(IDirectXFileEnumObjectImpl** pp
     TRACE("(%p)\n", ppObj);
       
     object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectXFileEnumObjectImpl));
+    if (!object)
+    {
+        ERR("Out of memory\n");
+        return DXFILEERR_BADALLOC;
+    }
     
     object->lpVtbl.lpVtbl = &IDirectXFileEnumObject_Vtbl;
     object->ref = 1;
@@ -2192,7 +2212,7 @@ static HRESULT WINAPI IDirectXFileEnumObjectImpl_GetNextDataObject(IDirectXFileE
   pdata = HeapAlloc(GetProcessHeap(), 0, MAX_DATA_SIZE);
   if (!pdata)
   {
-    WARN("Out of memory\n");
+    ERR("Out of memory\n");
     return DXFILEERR_BADALLOC;
   }
   This->buf.cur_pdata = This->buf.pdata = pdata;
@@ -2200,7 +2220,7 @@ static HRESULT WINAPI IDirectXFileEnumObjectImpl_GetNextDataObject(IDirectXFileE
   pstrings = HeapAlloc(GetProcessHeap(), 0, MAX_STRINGS_BUFFER);
   if (!pstrings)
   {
-    WARN("Out of memory\n");
+    ERR("Out of memory\n");
     HeapFree(GetProcessHeap(), 0, This->buf.pxo->pdata);
     return DXFILEERR_BADALLOC;
   }




More information about the wine-cvs mailing list