Jesse Litton : dbghelp: Don't double memory allocation on every add.
Alexandre Julliard
julliard at winehq.org
Wed Aug 19 11:32:32 CDT 2009
Module: wine
Branch: master
Commit: 43a35958f698871ff01573b61030d80d0097e008
URL: http://source.winehq.org/git/wine.git/?a=commit;h=43a35958f698871ff01573b61030d80d0097e008
Author: Jesse Litton <wine at eternaldusk.com>
Date: Sat Aug 15 09:31:50 2009 -0500
dbghelp: Don't double memory allocation on every add.
---
dlls/dbghelp/minidump.c | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/dlls/dbghelp/minidump.c b/dlls/dbghelp/minidump.c
index 4108ef4..a2f1633 100644
--- a/dlls/dbghelp/minidump.c
+++ b/dlls/dbghelp/minidump.c
@@ -260,7 +260,7 @@ static BOOL add_module(struct dump_context* dc, const WCHAR* name,
dc->modules = HeapAlloc(GetProcessHeap(), 0,
dc->alloc_modules * sizeof(*dc->modules));
}
- else
+ else if(dc->num_modules >= dc->alloc_modules)
{
dc->alloc_modules *= 2;
dc->modules = HeapReAlloc(GetProcessHeap(), 0, dc->modules,
@@ -394,17 +394,17 @@ static void fetch_module_versioninfo(LPCWSTR filename, VS_FIXEDFILEINFO* ffi)
*/
static void add_memory_block(struct dump_context* dc, ULONG64 base, ULONG size, ULONG rva)
{
- if (dc->mem)
+ if (!dc->mem)
+ {
+ dc->alloc_mem = 32;
+ dc->mem = HeapAlloc(GetProcessHeap(), 0, dc->alloc_mem * sizeof(*dc->mem));
+ }
+ else if (dc->num_mem >= dc->alloc_mem)
{
dc->alloc_mem *= 2;
dc->mem = HeapReAlloc(GetProcessHeap(), 0, dc->mem,
dc->alloc_mem * sizeof(*dc->mem));
}
- else
- {
- dc->alloc_mem = 32;
- dc->mem = HeapAlloc(GetProcessHeap(), 0, dc->alloc_mem * sizeof(*dc->mem));
- }
if (dc->mem)
{
dc->mem[dc->num_mem].base = base;
More information about the wine-cvs
mailing list