From 7183c6953107291e276cd9ee027d87385ed83d91 Mon Sep 17 00:00:00 2001 From: Michael Stefaniuc Date: Wed, 5 Dec 2012 23:57:52 +0100 Subject: [PATCH] qmgr: Merge a helper function. --- dlls/qmgr/enum_files.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/dlls/qmgr/enum_files.c b/dlls/qmgr/enum_files.c index 05659cf19d1..aeb9d649048 100644 --- a/dlls/qmgr/enum_files.c +++ b/dlls/qmgr/enum_files.c @@ -32,17 +32,6 @@ typedef struct ULONG indexFiles; } EnumBackgroundCopyFilesImpl; -static void EnumBackgroundCopyFilesDestructor(EnumBackgroundCopyFilesImpl *This) -{ - ULONG i; - - for(i = 0; i < This->numFiles; i++) - IBackgroundCopyFile_Release(This->files[i]); - - HeapFree(GetProcessHeap(), 0, This->files); - HeapFree(GetProcessHeap(), 0, This); -} - static inline EnumBackgroundCopyFilesImpl *impl_from_IEnumBackgroundCopyFiles(IEnumBackgroundCopyFiles *iface) { return CONTAINING_RECORD(iface, EnumBackgroundCopyFilesImpl, IEnumBackgroundCopyFiles_iface); @@ -77,9 +66,15 @@ static ULONG WINAPI BITS_IEnumBackgroundCopyFiles_Release(IEnumBackgroundCopyFil { EnumBackgroundCopyFilesImpl *This = impl_from_IEnumBackgroundCopyFiles(iface); ULONG ref = InterlockedDecrement(&This->ref); + ULONG i; if (ref == 0) - EnumBackgroundCopyFilesDestructor(This); + { + for(i = 0; i < This->numFiles; i++) + IBackgroundCopyFile_Release(This->files[i]); + HeapFree(GetProcessHeap(), 0, This->files); + HeapFree(GetProcessHeap(), 0, This); + } return ref; } -- 2.11.4.GIT