| Index: third_party/lzma_sdk/C/7zAlloc.c
|
| ===================================================================
|
| --- third_party/lzma_sdk/C/7zAlloc.c (revision 0)
|
| +++ third_party/lzma_sdk/C/7zAlloc.c (revision 0)
|
| @@ -0,0 +1,76 @@
|
| +/* 7zAlloc.c -- Allocation functions
|
| +2010-10-29 : Igor Pavlov : Public domain */
|
| +
|
| +#include "7zAlloc.h"
|
| +
|
| +/* #define _SZ_ALLOC_DEBUG */
|
| +/* use _SZ_ALLOC_DEBUG to debug alloc/free operations */
|
| +
|
| +#ifdef _SZ_ALLOC_DEBUG
|
| +
|
| +#ifdef _WIN32
|
| +#include <windows.h>
|
| +#endif
|
| +
|
| +#include <stdio.h>
|
| +int g_allocCount = 0;
|
| +int g_allocCountTemp = 0;
|
| +
|
| +#endif
|
| +
|
| +void *SzAlloc(void *p, size_t size)
|
| +{
|
| + p = p;
|
| + if (size == 0)
|
| + return 0;
|
| + #ifdef _SZ_ALLOC_DEBUG
|
| + fprintf(stderr, "\nAlloc %10d bytes; count = %10d", size, g_allocCount);
|
| + g_allocCount++;
|
| + #endif
|
| + return malloc(size);
|
| +}
|
| +
|
| +void SzFree(void *p, void *address)
|
| +{
|
| + p = p;
|
| + #ifdef _SZ_ALLOC_DEBUG
|
| + if (address != 0)
|
| + {
|
| + g_allocCount--;
|
| + fprintf(stderr, "\nFree; count = %10d", g_allocCount);
|
| + }
|
| + #endif
|
| + free(address);
|
| +}
|
| +
|
| +void *SzAllocTemp(void *p, size_t size)
|
| +{
|
| + p = p;
|
| + if (size == 0)
|
| + return 0;
|
| + #ifdef _SZ_ALLOC_DEBUG
|
| + fprintf(stderr, "\nAlloc_temp %10d bytes; count = %10d", size, g_allocCountTemp);
|
| + g_allocCountTemp++;
|
| + #ifdef _WIN32
|
| + return HeapAlloc(GetProcessHeap(), 0, size);
|
| + #endif
|
| + #endif
|
| + return malloc(size);
|
| +}
|
| +
|
| +void SzFreeTemp(void *p, void *address)
|
| +{
|
| + p = p;
|
| + #ifdef _SZ_ALLOC_DEBUG
|
| + if (address != 0)
|
| + {
|
| + g_allocCountTemp--;
|
| + fprintf(stderr, "\nFree_temp; count = %10d", g_allocCountTemp);
|
| + }
|
| + #ifdef _WIN32
|
| + HeapFree(GetProcessHeap(), 0, address);
|
| + return;
|
| + #endif
|
| + #endif
|
| + free(address);
|
| +}
|
|
|
| Property changes on: third_party\lzma_sdk\C\7zAlloc.c
|
| ___________________________________________________________________
|
| Added: svn:executable
|
| + *
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|