-
-
Notifications
You must be signed in to change notification settings - Fork 301
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
See: https://sourceforge.net/p/sevenzip/discussion/45797/thread/3f550826d8/ Signed-off-by: Tino Reichardt <[email protected]>
- Loading branch information
Showing
997 changed files
with
40,072 additions
and
25,544 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,80 +1,89 @@ | ||
/* 7zAlloc.c -- Allocation functions | ||
2017-04-03 : Igor Pavlov : Public domain */ | ||
/* 7zAlloc.c -- Allocation functions for 7z processing | ||
2023-03-04 : Igor Pavlov : Public domain */ | ||
|
||
#include "Precomp.h" | ||
|
||
#include <stdlib.h> | ||
|
||
#include "7zAlloc.h" | ||
|
||
/* #define _SZ_ALLOC_DEBUG */ | ||
/* use _SZ_ALLOC_DEBUG to debug alloc/free operations */ | ||
/* #define SZ_ALLOC_DEBUG */ | ||
/* use SZ_ALLOC_DEBUG to debug alloc/free operations */ | ||
|
||
#ifdef _SZ_ALLOC_DEBUG | ||
#ifdef SZ_ALLOC_DEBUG | ||
|
||
/* | ||
#ifdef _WIN32 | ||
#include <windows.h> | ||
#include "7zWindows.h" | ||
#endif | ||
*/ | ||
|
||
#include <stdio.h> | ||
int g_allocCount = 0; | ||
int g_allocCountTemp = 0; | ||
static int g_allocCount = 0; | ||
static int g_allocCountTemp = 0; | ||
|
||
static void Print_Alloc(const char *s, size_t size, int *counter) | ||
{ | ||
const unsigned size2 = (unsigned)size; | ||
fprintf(stderr, "\n%s count = %10d : %10u bytes; ", s, *counter, size2); | ||
(*counter)++; | ||
} | ||
static void Print_Free(const char *s, int *counter) | ||
{ | ||
(*counter)--; | ||
fprintf(stderr, "\n%s count = %10d", s, *counter); | ||
} | ||
#endif | ||
|
||
void *SzAlloc(ISzAllocPtr p, size_t size) | ||
{ | ||
UNUSED_VAR(p); | ||
UNUSED_VAR(p) | ||
if (size == 0) | ||
return 0; | ||
#ifdef _SZ_ALLOC_DEBUG | ||
fprintf(stderr, "\nAlloc %10u bytes; count = %10d", (unsigned)size, g_allocCount); | ||
g_allocCount++; | ||
#ifdef SZ_ALLOC_DEBUG | ||
Print_Alloc("Alloc", size, &g_allocCount); | ||
#endif | ||
return malloc(size); | ||
} | ||
|
||
void SzFree(ISzAllocPtr p, void *address) | ||
{ | ||
UNUSED_VAR(p); | ||
#ifdef _SZ_ALLOC_DEBUG | ||
if (address != 0) | ||
{ | ||
g_allocCount--; | ||
fprintf(stderr, "\nFree; count = %10d", g_allocCount); | ||
} | ||
UNUSED_VAR(p) | ||
#ifdef SZ_ALLOC_DEBUG | ||
if (address) | ||
Print_Free("Free ", &g_allocCount); | ||
#endif | ||
free(address); | ||
} | ||
|
||
void *SzAllocTemp(ISzAllocPtr p, size_t size) | ||
{ | ||
UNUSED_VAR(p); | ||
UNUSED_VAR(p) | ||
if (size == 0) | ||
return 0; | ||
#ifdef _SZ_ALLOC_DEBUG | ||
fprintf(stderr, "\nAlloc_temp %10u bytes; count = %10d", (unsigned)size, g_allocCountTemp); | ||
g_allocCountTemp++; | ||
#ifdef SZ_ALLOC_DEBUG | ||
Print_Alloc("Alloc_temp", size, &g_allocCountTemp); | ||
/* | ||
#ifdef _WIN32 | ||
return HeapAlloc(GetProcessHeap(), 0, size); | ||
#endif | ||
*/ | ||
#endif | ||
return malloc(size); | ||
} | ||
|
||
void SzFreeTemp(ISzAllocPtr p, void *address) | ||
{ | ||
UNUSED_VAR(p); | ||
#ifdef _SZ_ALLOC_DEBUG | ||
if (address != 0) | ||
{ | ||
g_allocCountTemp--; | ||
fprintf(stderr, "\nFree_temp; count = %10d", g_allocCountTemp); | ||
} | ||
UNUSED_VAR(p) | ||
#ifdef SZ_ALLOC_DEBUG | ||
if (address) | ||
Print_Free("Free_temp ", &g_allocCountTemp); | ||
/* | ||
#ifdef _WIN32 | ||
HeapFree(GetProcessHeap(), 0, address); | ||
return; | ||
#endif | ||
*/ | ||
#endif | ||
free(address); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.