1 /* 7zAlloc.c -- Allocation functions
\r
2 2010-10-29 : Igor Pavlov : Public domain */
\r
6 /* #define _SZ_ALLOC_DEBUG */
\r
7 /* use _SZ_ALLOC_DEBUG to debug alloc/free operations */
\r
9 #ifdef _SZ_ALLOC_DEBUG
\r
12 #include <windows.h>
\r
16 int g_allocCount = 0;
\r
17 int g_allocCountTemp = 0;
\r
21 void *SzAlloc(void *p, size_t size)
\r
26 #ifdef _SZ_ALLOC_DEBUG
\r
27 fprintf(stderr, "\nAlloc %10d bytes; count = %10d", size, g_allocCount);
\r
30 return malloc(size);
\r
33 void SzFree(void *p, void *address)
\r
36 #ifdef _SZ_ALLOC_DEBUG
\r
40 fprintf(stderr, "\nFree; count = %10d", g_allocCount);
\r
46 void *SzAllocTemp(void *p, size_t size)
\r
51 #ifdef _SZ_ALLOC_DEBUG
\r
52 fprintf(stderr, "\nAlloc_temp %10d bytes; count = %10d", size, g_allocCountTemp);
\r
55 return HeapAlloc(GetProcessHeap(), 0, size);
\r
58 return malloc(size);
\r
61 void SzFreeTemp(void *p, void *address)
\r
64 #ifdef _SZ_ALLOC_DEBUG
\r
68 fprintf(stderr, "\nFree_temp; count = %10d", g_allocCountTemp);
\r
71 HeapFree(GetProcessHeap(), 0, address);
\r