Replaced the memlib with malloc and free.

The old behavior may be reinstated by defining LEGACY_HANDLE_ALLOCATOR.

git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@2903 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
mcmartin
2008-01-12 06:19:37 +00:00
parent 1ed8351af1
commit 456dcabfa0
2 changed files with 79 additions and 3 deletions
+7 -3
View File
@@ -21,6 +21,11 @@
#include "compiler.h"
extern BOOLEAN mem_init (void);
extern BOOLEAN mem_uninit (void);
#ifdef LEGACY_HANDLE_ALLOCATOR
#define NULL_HANDLE (MEM_HANDLE)(0L)
typedef signed long MEM_SIZE;
@@ -44,9 +49,6 @@ typedef struct mem_header {
#define GET_MEM_HEADER(addr) ((MEM_HEADER *) \
(((char *) addr) - sizeof (MEM_HEADER)))
extern BOOLEAN mem_init (void);
extern BOOLEAN mem_uninit (void);
extern MEM_HANDLE mem_allocate (MEM_SIZE size, MEM_FLAGS flags);
extern BOOLEAN mem_release (MEM_HANDLE handle);
@@ -55,5 +57,7 @@ extern BOOLEAN mem_unlock (MEM_HANDLE handle);
extern MEM_SIZE mem_get_size (MEM_HANDLE handle);
#endif /* LEGACY_HANDLE_ALLOCATOR */
#endif /* _MEMLIB_H */
+72
View File
@@ -25,11 +25,15 @@
//#include "utils.h"
//#include "pcwin.h"
#include "compiler.h"
#ifdef LEGACY_HANDLE_ALLOCATOR
#include "libs/threadlib.h"
#endif
#include "libs/memlib.h"
#include "libs/log.h"
#include "libs/misc.h"
#ifdef LEGACY_HANDLE_ALLOCATOR
#define GetToolFrame() 1
//#define MEM_DEBUG
@@ -643,3 +647,71 @@ HRealloc (void *p, int size)
return (np);
}
#else /* !LEGACY_HANDLE_ALLOCATOR */
BOOLEAN
mem_init (void)
{
return TRUE;
}
BOOLEAN
mem_uninit(void)
{
return (TRUE);
}
void *
HMalloc (int size)
{
void *p;
if (size == 0) return NULL;
if (size < 0)
{
log_add (log_Fatal, "Fatal Error: Request for negative amount of memory %d!", size);
fflush (stderr);
explode ();
}
if ((p = malloc (size)) == NULL) {
log_add (log_Fatal, "Fatal Error: HMalloc(): out of memory.");
fflush (stderr);
explode ();
}
return (p);
}
void
HFree (void *p)
{
if (p)
{
free (p);
}
}
void *
HCalloc (int size)
{
void *p;
p = HMalloc (size);
if (p)
memset (p, 0, size);
return (p);
}
void *
HRealloc (void *p, int size)
{
void *np;
np = realloc (p, size);
return (np);
}
#endif /* LEGACY_HANDLE_ALLOCATOR */