Cleanup of memlib and its use: removed legacy handle code, moved memory alloc funcs into memlib.h

git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3222 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
avolkov
2009-10-11 21:42:05 +00:00
parent 7873b3115a
commit 2a76a63292
77 changed files with 102 additions and 639 deletions
-1
View File
@@ -29,7 +29,6 @@
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <errno.h> #include <errno.h>
//#include "libs/misc.h"
//#include "port.h" //#include "port.h"
#include "types.h" #include "types.h"
#include "port.h" #include "port.h"
+1 -1
View File
@@ -28,7 +28,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <ctype.h> #include <ctype.h>
#include "libs/decomp/lzh.h" #include "lzh.h"
#include "libs/reslib.h" #include "libs/reslib.h"
PLZHCODE_DESC _lpCurCodeDesc; PLZHCODE_DESC _lpCurCodeDesc;
+1 -1
View File
@@ -20,7 +20,7 @@
#define _LZH_H #define _LZH_H
#include "libs/declib.h" #include "libs/declib.h"
#include "libs/misc.h" #include "libs/memlib.h"
/* LZSS Parameters */ /* LZSS Parameters */
+1 -1
View File
@@ -26,7 +26,7 @@
#include "config.h" #include "config.h"
#include "filintrn.h" #include "filintrn.h"
#include "libs/compiler.h" #include "libs/compiler.h"
#include "libs/misc.h" #include "libs/memlib.h"
#include "libs/log.h" #include "libs/log.h"
#ifdef HAVE_DRIVE_LETTERS #ifdef HAVE_DRIVE_LETTERS
+1 -1
View File
@@ -26,7 +26,7 @@
#include "config.h" #include "config.h"
#include "types.h" #include "types.h"
#include "filintrn.h" #include "filintrn.h"
#include "libs/misc.h" #include "libs/memlib.h"
#include "libs/log.h" #include "libs/log.h"
static int copyError(uio_Handle *srcHandle, uio_Handle *dstHandle, static int copyError(uio_Handle *srcHandle, uio_Handle *dstHandle,
+1 -1
View File
@@ -29,7 +29,7 @@
#include "port.h" #include "port.h"
#include "libs/compiler.h" #include "libs/compiler.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/misc.h" #include "libs/memlib.h"
static char *tempDirName; static char *tempDirName;
uio_DirHandle *tempDir; uio_DirHandle *tempDir;
+1
View File
@@ -20,6 +20,7 @@
#define _CONTEXT_H #define _CONTEXT_H
#include "tfb_draw.h" #include "tfb_draw.h"
#include "libs/memlib.h"
typedef UWORD FBK_FLAGS; typedef UWORD FBK_FLAGS;
#define FBK_DIRTY (1 << 0) #define FBK_DIRTY (1 << 0)
+1 -1
View File
@@ -17,7 +17,7 @@
*/ */
#include "gfxintrn.h" #include "gfxintrn.h"
#include "libs/misc.h" #include "libs/memlib.h"
#include "tfb_draw.h" #include "tfb_draw.h"
#include "gfxother.h" #include "gfxother.h"
#include <math.h> #include <math.h>
+2
View File
@@ -19,6 +19,8 @@
#ifndef _FONT_H #ifndef _FONT_H
#define _FONT_H #define _FONT_H
#include "libs/memlib.h"
#define MAX_DELTAS 100 #define MAX_DELTAS 100
typedef struct FontPage typedef struct FontPage
+2
View File
@@ -19,6 +19,8 @@
#include "gfxintrn.h" #include "gfxintrn.h"
#include "libs/graphics/gfx_common.h" #include "libs/graphics/gfx_common.h"
#include "libs/graphics/drawcmd.h" #include "libs/graphics/drawcmd.h"
#include "libs/misc.h"
// for TFB_DEBUG_HALT
DISPLAY_INTERFACE *_pCurDisplay; //Not a function. Probably has to be initialized... DISPLAY_INTERFACE *_pCurDisplay; //Not a function. Probably has to be initialized...
-1
View File
@@ -23,7 +23,6 @@
#include <stdlib.h> #include <stdlib.h>
#include "libs/gfxlib.h" #include "libs/gfxlib.h"
#include "libs/misc.h"
// driver for TFB_InitGraphics // driver for TFB_InitGraphics
enum enum
+1
View File
@@ -30,6 +30,7 @@
#include "libs/file.h" #include "libs/file.h"
#include "libs/reslib.h" #include "libs/reslib.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/memlib.h"
#include "../font.h" #include "../font.h"
#include "primitives.h" #include "primitives.h"
+1
View File
@@ -21,6 +21,7 @@
#include "libs/graphics/sdl/primitives.h" #include "libs/graphics/sdl/primitives.h"
#include "libs/graphics/tfb_draw.h" #include "libs/graphics/tfb_draw.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/memlib.h"
#include "rotozoom.h" #include "rotozoom.h"
#include "options.h" #include "options.h"
#include "types.h" #include "types.h"
+2
View File
@@ -25,6 +25,8 @@
#include "libs/graphics/drawcmd.h" #include "libs/graphics/drawcmd.h"
#include "libs/graphics/sdl/dcqueue.h" #include "libs/graphics/sdl/dcqueue.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/misc.h"
// for TFB_DEBUG_HALT
static RecursiveMutex DCQ_Mutex; static RecursiveMutex DCQ_Mutex;
+1 -1
View File
@@ -13,7 +13,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include "libs/misc.h" #include "libs/memlib.h"
#include "port.h" #include "port.h"
#include "rotozoom.h" #include "rotozoom.h"
+1
View File
@@ -32,6 +32,7 @@
#include "port.h" #include "port.h"
#include "libs/uio.h" #include "libs/uio.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/memlib.h"
#include "libs/vidlib.h" #include "libs/vidlib.h"
#include SDL_INCLUDE(SDL_thread.h) #include SDL_INCLUDE(SDL_thread.h)
+1 -1
View File
@@ -22,7 +22,7 @@
#include SDL_INCLUDE(SDL_error.h) #include SDL_INCLUDE(SDL_error.h)
#include SDL_INCLUDE(SDL_rwops.h) #include SDL_INCLUDE(SDL_rwops.h)
#include SDL_IMAGE_INCLUDE(SDL_image.h) #include SDL_IMAGE_INCLUDE(SDL_image.h)
#include "libs/misc.h" #include "libs/memlib.h"
#include <errno.h> #include <errno.h>
#include <string.h> #include <string.h>
+2
View File
@@ -18,6 +18,8 @@
#include "tfb_draw.h" #include "tfb_draw.h"
#include "drawcmd.h" #include "drawcmd.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/memlib.h"
static const HOT_SPOT NullHs = {0, 0}; static const HOT_SPOT NullHs = {0, 0};
+1 -1
View File
@@ -24,7 +24,7 @@
#include "libs/input/input_common.h" #include "libs/input/input_common.h"
#include "libs/input/sdl/vcontrol.h" #include "libs/input/sdl/vcontrol.h"
#include "libs/input/sdl/keynames.h" #include "libs/input/sdl/keynames.h"
#include "libs/misc.h" #include "libs/memlib.h"
#include "libs/file.h" #include "libs/file.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/reslib.h" #include "libs/reslib.h"
+1 -1
View File
@@ -20,7 +20,7 @@
#include <string.h> #include <string.h>
#include <ctype.h> #include <ctype.h>
#include "vcontrol.h" #include "vcontrol.h"
#include "libs/misc.h" #include "libs/memlib.h"
#include "keynames.h" #include "keynames.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/reslib.h" #include "libs/reslib.h"
+1 -1
View File
@@ -25,7 +25,7 @@
# include "list.h" # include "list.h"
#endif #endif
#include "libs/misc.h" #include "libs/memlib.h"
#define malloc HMalloc #define malloc HMalloc
#define free HFree #define free HFree
#define realloc HRealloc #define realloc HRealloc
+1 -1
View File
@@ -24,7 +24,7 @@
#define RANDOM2_INTERNAL #define RANDOM2_INTERNAL
#include "random.h" #include "random.h"
#include "libs/misc.h" #include "libs/memlib.h"
#define A 16807 /* a relatively prime number -- also M div Q */ #define A 16807 /* a relatively prime number -- also M div Q */
+7 -37
View File
@@ -19,45 +19,15 @@
#ifndef _MEMLIB_H #ifndef _MEMLIB_H
#define _MEMLIB_H #define _MEMLIB_H
#include "libs/compiler.h" #include "types.h"
extern BOOLEAN mem_init (void); extern bool mem_init (void);
extern BOOLEAN mem_uninit (void); extern bool mem_uninit (void);
#ifdef LEGACY_HANDLE_ALLOCATOR extern void *HMalloc (int size);
extern void HFree (void *p);
#define NULL_HANDLE (MEM_HANDLE)(0L) extern void *HCalloc (int size);
extern void *HRealloc (void *p, int size);
typedef signed long MEM_SIZE;
typedef SWORD MEM_HANDLE;
typedef UWORD MEM_FLAGS;
#define DEFAULT_MEM_FLAGS (MEM_FLAGS)0
#define MEM_PRIMARY (MEM_FLAGS)(1 << 8)
#define MEM_ZEROINIT (MEM_FLAGS)(1 << 9)
#define MEM_GRAPHICS (MEM_FLAGS)(1 << 10)
#define MEM_SOUND (MEM_FLAGS)(1 << 11)
typedef struct mem_header {
MEM_HANDLE handle;
} _ALIGNED_ANY MEM_HEADER;
// _ALIGNED_ANY adds padding to the end of MEM_HEADER, so that the following
// address is aligned for any object (if the address of the MEM_HEADER
// itself is aligned for any object).
#define GET_MEM_HEADER(addr) ((MEM_HEADER *) \
(((char *) addr) - sizeof (MEM_HEADER)))
extern MEM_HANDLE mem_allocate (MEM_SIZE size, MEM_FLAGS flags);
extern BOOLEAN mem_release (MEM_HANDLE handle);
extern void* mem_lock (MEM_HANDLE handle);
extern BOOLEAN mem_unlock (MEM_HANDLE handle);
extern MEM_SIZE mem_get_size (MEM_HANDLE handle);
#endif /* LEGACY_HANDLE_ALLOCATOR */
#endif /* _MEMLIB_H */ #endif /* _MEMLIB_H */
+13 -545
View File
@@ -20,476 +20,21 @@
#include <stdlib.h> #include <stdlib.h>
#include <stdarg.h> #include <stdarg.h>
#include <string.h> #include <string.h>
//#include "3d.h"
//#include "tool.h"
//#include "utils.h"
//#include "pcwin.h"
#include "libs/compiler.h"
#ifdef LEGACY_HANDLE_ALLOCATOR
#include "libs/threadlib.h"
#endif
#include "libs/memlib.h" #include "libs/memlib.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/misc.h" #include "libs/misc.h"
#ifdef LEGACY_HANDLE_ALLOCATOR
#define GetToolFrame() 1 bool
//#define MEM_DEBUG
#ifdef MEM_DEBUG
#include <crtdbg.h>
#endif
#define LEAK_DEBUG
#ifdef LEAK_DEBUG
BOOLEAN leak_debug;
int leak_idx = -1;
int leak_size = -1;
#endif
static Mutex _MemoryLock;
//#define MAX_EXTENTS 100000
#define MAX_EXTENTS (MEM_HANDLE) 32766
// Changed to 32766 to get rid of warnings that an expression
// 'h <= MAX_EXTENTS' is always true due to limited range of
// MEM_HANDLE.
/* Keep track of memory allocations. */
typedef struct _szMemoryNode {
void *memory;
struct _szMemoryNode *next;
MEM_HANDLE handle;
MEM_SIZE size;
int refcount;
} szMemoryNode;
static szMemoryNode extents[MAX_EXTENTS];
static szMemoryNode *freeListHead = NULL;
/*****************************************************************************/
/*FUNCTION
**
** SYNOPSIS
** CheckMemory()
**
** DESCRIPTION
** Checks integrity of memory allocation: diagnostic only.
** Either aborts or spits messages to stdout if there's a
** problem.
**
** INPUT
**
** OUTPUT
**
** HISTORY
** 04-Sept-96:AKL Creation.
**
** ASSUMPTIONS
**
**END*/
#ifdef MEM_DEBUG
void CheckMemory(void)
{
// Send all reports to STDOUT
_CrtSetReportMode( _CRT_WARN, _CRTDBG_MODE_FILE );
_CrtSetReportFile( _CRT_WARN, _CRTDBG_FILE_STDOUT );
_CrtSetReportMode( _CRT_ERROR, _CRTDBG_MODE_FILE );
_CrtSetReportFile( _CRT_ERROR, _CRTDBG_FILE_STDOUT );
_CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_FILE );
_CrtSetReportFile( _CRT_ASSERT, _CRTDBG_FILE_STDOUT );
_CrtCheckMemory();
fflush(stdout);
}
#endif
/*****************************************************************************/
/*FUNCTION
**
** SYNOPSIS
** mem = SafeMalloc (coreSize, diagnostic)
**
** DESCRIPTION
** Mallocs the required memory. If the malloc fails, the game
** is killed with a diagnostic string.
**
** INPUT
** int coreSize = How much memory to malloc (in bytes).
** char *diagnostic = String identifying the caller.
**
** OUTPUT
** void *mem = Ptr to memory. Never returns NULL.
**
** HISTORY
** 14-Jan-08:Cleanups and conversion from MallocWithRetry.
** 06-Nov-96:AKL Creation.
**
** ASSUMPTIONS
**
**END*/
static void *
SafeMalloc (int bytes, char *diagStr)
{
void *ptr;
ptr = malloc (bytes);
if (!ptr)
{
log_add (log_Fatal, "Malloc failed for %s. #Bytes %d.", diagStr, bytes);
fflush (stderr);
explode ();
}
return ptr;
}
MEM_HANDLE
mem_allocate (MEM_SIZE coreSize, MEM_FLAGS flags)
{
szMemoryNode *node;
LockMutex (_MemoryLock);
#ifdef MEM_DEBUG
CheckMemory();
#endif
if ((node = freeListHead) == NULL)
log_add (log_Error, "mem_allocate: out of extents.");
else if ((node->memory = MallocWithRetry (coreSize, "mem_allocate:")) == 0
&& coreSize)
log_add (log_Error, "mem_allocate: couldn't allocate %ld bytes.",
coreSize);
else
{
freeListHead = node->next;
node->size = coreSize;
node->handle = node - extents + 1;
node->refcount = 0;
if (flags & MEM_ZEROINIT)
memset (node->memory, 0, node->size);
#ifdef LEAK_DEBUG
if (leak_debug)
{
log_add (log_Debug, "alloc %d: %p, %lu", (int) node->handle,
(void *) node->memory, node->size);
// Preferred form:
//log_add (log_Debug, "alloc %d: %#8" PRIxPTR ", %lu",
// (int) node->handle, (intptr_t) node->memory, node->size);
}
if (node->handle == leak_idx && node->size == leak_size)
node = node;
if (node->size == leak_size)
node = node;
#endif /* LEAK_DEBUG */
UnlockMutex (_MemoryLock);
return (node->handle);
}
UnlockMutex (_MemoryLock);
return (0);
}
/*****************************************************************************/
/*FUNCTION
**
** SYNOPSIS
** size = mem_get_size(h)
**
** DESCRIPTION
** Returns the number of bytes in the given memory allocation.
**
** INPUT
** int h = Handle to memory allocation.
**
** OUTPUT
** int size = Number of bytes in allocation or zero on error.
**
** HISTORY
** 09-Jul-96:AKL Creation. Original version in LIBS\MEMORY\DATAINFO.C.
**
** ASSUMPTIONS
**
**END*/
MEM_SIZE
mem_get_size (MEM_HANDLE h)
{
LockMutex (_MemoryLock);
if (h > 0 && h <= MAX_EXTENTS && extents[h - 1].handle == h)
{
UnlockMutex (_MemoryLock);
return ((int)extents[h - 1].size);
}
UnlockMutex (_MemoryLock);
return (0);
}
/*****************************************************************************/
/*FUNCTION
**
** SYNOPSIS
** done = mem_init(coreSize, pma, diskName)
**
** DESCRIPTION
** Initialize data that tracks allocation extents.
**
** INPUT
** int coreSize = IGNORED!
** int * pma = IGNORED!
** PSTR diskName = IGNORED!
**
** OUTPUT
** int done = TRUE.
**
** HISTORY
** 09-Jul-96:AKL Creation. Original version in LIBS\MEMORY\INIT.C.
**
** ASSUMPTIONS
**
**END*/
BOOLEAN
mem_init (void) mem_init (void)
{ { // This is a stub
int i; return true;
_MemoryLock = CreateMutex ("memory lock", SYNC_CLASS_RESOURCE);
LockMutex (_MemoryLock);
freeListHead = &extents[0];
for (i=0; i<MAX_EXTENTS; i++)
{
extents[i].memory = NULL;
extents[i].handle = -1;
extents[i].next = &extents[i+1];
extents[i].size = 0;
}
extents[MAX_EXTENTS-1].next = NULL;
UnlockMutex (_MemoryLock);
return TRUE;
} }
/*****************************************************************************/ bool
/*FUNCTION mem_uninit (void)
** { // This is a stub
** SYNOPSIS return true;
** mem_uninit()
**
** DESCRIPTION
** Free allocated memory.
**
** INPUT
**
** OUTPUT
**
** HISTORY
** 14-Oct-96:AKL Creation.
**
** ASSUMPTIONS
**
**END*/
BOOLEAN
mem_uninit(void)
{
int i;
LockMutex (_MemoryLock);
for (i=0; i<MAX_EXTENTS; i++)
{
if (extents[i].handle != -1)
{
log_add (log_Debug, "LEAK: unreleased extent %d: %p, %lu",
extents[i].handle, (void *) extents[i].memory,
extents[i].size);
// Preferred form:
//log_add (log_Debug, "LEAK: unreleased extent %d: %#8" PRIxPTR
// ", %lu", extents[i].handle,
// (intptr_t) extents[i].memory, extents[i].size);
fflush (stderr);
extents[i].handle = -1;
if (extents[i].memory)
{
free (extents[i].memory);
extents[i].memory = 0;
}
}
extents[i].size = 0;
}
freeListHead = 0;
UnlockMutex (_MemoryLock);
return (TRUE);
}
/*****************************************************************************/
/*FUNCTION
**
** SYNOPSIS
** done = mem_release(h)
**
** DESCRIPTION
** Frees the given memory.
**
** INPUT
** int h = Handle to memory to be released.
**
** OUTPUT
** int done = TRUE.
**
** HISTORY
** 09-Jul-96:AKL Creation. Original version in LIBS\MEMORY\ALLOC.C.
**
** ASSUMPTIONS
**
**END*/
BOOLEAN
mem_release(MEM_HANDLE h)
{
if (h == 0)
return (TRUE);
LockMutex (_MemoryLock);
--h;
if (h < 0 || h >= MAX_EXTENTS)
log_add (log_Debug, "LEAK: attempt to release invalid extent %d", h);
else if (extents[h].handle == -1)
log_add (log_Debug, "LEAK: attempt to release unallocated extent %d",h);
else if (extents[h].refcount == 0)
{
#ifdef LEAK_DEBUG
if (leak_debug)
{
log_add (log_Debug, "free %d: %p",
extents[h].handle, (void *) extents[h].memory);
// Preferred form:
//log_add (log_Debug, "free %d: %#8" PRIxPTR,
// extents[h].handle, (intptr_t) extents[h].memory);
}
#endif
if (extents[h].memory)
{
free (extents[h].memory);
extents[h].memory = 0;
}
extents[h].handle = -1;
extents[h].next = freeListHead;
freeListHead = &extents[h];
UnlockMutex (_MemoryLock);
return TRUE;
}
UnlockMutex (_MemoryLock);
return FALSE;
}
/*****************************************************************************/
/*FUNCTION
**
** SYNOPSIS
** memp = mem_lock (h)
**
** DESCRIPTION
** Converts a MEM_HANDLE into its equivalent pointer.
**
** INPUT
** int h = Handle to memory to be accessed.
**
** OUTPUT
** void * memp = Ptr to memory.
**
** HISTORY
** 09-Jul-96:AKL Creation. Original version in LIBS\MEMORY\SIMPLE.C.
**
** ASSUMPTIONS
**
**END*/
void *
mem_lock (MEM_HANDLE h)
{
LockMutex (_MemoryLock);
if (h > 0 && h <= MAX_EXTENTS && extents[h - 1].handle == h)
{
++extents[h - 1].refcount;
UnlockMutex (_MemoryLock);
return (extents[h - 1].memory);
}
UnlockMutex (_MemoryLock);
return (0);
}
/*****************************************************************************/
/*FUNCTION
**
** SYNOPSIS
** done = mem_simple_unaccess(h)
**
** DESCRIPTION
** Drops the refcount on a piece of memory.
**
** INPUT
** int h = Handle to memory to be unaccessed.
**
** OUTPUT
** int done = TRUE.
**
** HISTORY
** 09-Jul-96:AKL Creation. Original version in LIBS\MEMORY\SIMPLE.C.
**
** ASSUMPTIONS
**
**END*/
BOOLEAN
mem_unlock (MEM_HANDLE h)
{
LockMutex (_MemoryLock);
if (h > 0 && h <= MAX_EXTENTS && extents[h - 1].handle == h)
{
if (extents[h - 1].refcount)
--extents[h - 1].refcount;
UnlockMutex (_MemoryLock);
return (1);
}
UnlockMutex (_MemoryLock);
return (0);
}
static void *
_alloc_mem (int size)
{
void *p;
int h;
h = mem_allocate (sizeof (MEM_HEADER) + size, DEFAULT_MEM_FLAGS);
p = (void *)mem_lock (h);
if (p)
{
((MEM_HEADER *) p)->handle = h;
p = (char *)p + sizeof (MEM_HEADER);
}
return (p);
} }
void * void *
@@ -497,86 +42,8 @@ HMalloc (int size)
{ {
void *p; void *p;
if (size == 0) return (0); if (size == 0)
return NULL;
if ((p = _alloc_mem(size)) == NULL) {
log_add (log_Fatal, "Fatal Error: HMalloc(): out of memory.");
fflush (stderr);
explode ();
}
return (p);
}
void
HFree (void *p)
{
if (p)
{
MEM_HEADER *hdr;
MEM_HANDLE h;
hdr = GET_MEM_HEADER(p);
h = hdr->handle;
mem_unlock (h);
mem_release (h);
}
}
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;
int osize;
if ((np = _alloc_mem (size)) && p)
{
MEM_HEADER *hdr;
MEM_HANDLE h;
hdr = GET_MEM_HEADER (p);
h = hdr->handle;
osize = mem_get_size (h) - sizeof (MEM_HEADER);
if (size > osize)
size = osize;
memcpy (np, p, size);
HFree (p);
}
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) if (size < 0)
{ {
@@ -585,7 +52,8 @@ HMalloc (int size)
explode (); explode ();
} }
if ((p = malloc (size)) == NULL) p = malloc (size);
if (p == NULL)
{ {
log_add (log_Fatal, "Fatal Error: HMalloc(): out of memory."); log_add (log_Fatal, "Fatal Error: HMalloc(): out of memory.");
fflush (stderr); fflush (stderr);
@@ -617,7 +85,7 @@ HCalloc (int size)
void * void *
HRealloc (void *p, int size) HRealloc (void *p, int size)
{ {
// XXX: We assume throughout that HRealloc returns a valid pointer.
// Checks similar to HMalloc are needed here.
return realloc (p, size); return realloc (p, size);
} }
#endif /* LEGACY_HANDLE_ALLOCATOR */
-5
View File
@@ -27,11 +27,6 @@
#include "port.h" #include "port.h"
extern void *HMalloc (int size);
extern void HFree (void *p);
extern void *HCalloc (int size);
extern void *HRealloc (void *p, int size);
extern int TFB_DEBUG_HALT; extern int TFB_DEBUG_HALT;
static inline void explode (void) _NORETURN; static inline void explode (void) _NORETURN;
+1 -1
View File
@@ -22,7 +22,7 @@
//#include <stdio.h> //#include <stdio.h>
#include "libs/compiler.h" #include "libs/compiler.h"
#include "port.h" #include "port.h"
#include "libs/misc.h" #include "libs/memlib.h"
#include "libs/uio.h" #include "libs/uio.h"
typedef struct resource_index_desc RESOURCE_INDEX_DESC; typedef struct resource_index_desc RESOURCE_INDEX_DESC;
+1 -1
View File
@@ -17,7 +17,7 @@
*/ */
#include "libs/strings/strintrn.h" #include "libs/strings/strintrn.h"
#include "libs/misc.h" #include "libs/memlib.h"
#include "port.h" #include "port.h"
#include "libs/uio.h" #include "libs/uio.h"
#include <sys/stat.h> #include <sys/stat.h>
+1 -1
View File
@@ -19,7 +19,7 @@
#include "options.h" #include "options.h"
#include "port.h" #include "port.h"
#include "resintrn.h" #include "resintrn.h"
#include "libs/misc.h" #include "libs/memlib.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/uio/charhashtable.h" #include "libs/uio/charhashtable.h"
+2
View File
@@ -18,6 +18,8 @@
#include "resintrn.h" #include "resintrn.h"
#include "libs/declib.h" #include "libs/declib.h"
#include "libs/memlib.h"
void * void *
GetResourceData (uio_Stream *fp, DWORD length) GetResourceData (uio_Stream *fp, DWORD length)
+1 -1
View File
@@ -17,7 +17,7 @@
*/ */
#include "resintrn.h" #include "resintrn.h"
#include "libs/misc.h" #include "libs/memlib.h"
#include "options.h" #include "options.h"
#include "types.h" #include "types.h"
#include "libs/log.h" #include "libs/log.h"
-1
View File
@@ -33,7 +33,6 @@
#include "types.h" #include "types.h"
#include "libs/uio.h" #include "libs/uio.h"
#include "endian_uqm.h" #include "endian_uqm.h"
#include "libs/misc.h"
#include "libs/log.h" #include "libs/log.h"
#include "aiffaud.h" #include "aiffaud.h"
+1 -1
View File
@@ -21,7 +21,7 @@
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
#include "port.h" #include "port.h"
#include "libs/misc.h" #include "libs/memlib.h"
#include "libs/file.h" #include "libs/file.h"
#include "libs/log.h" #include "libs/log.h"
#include "decoder.h" #include "decoder.h"
+1 -1
View File
@@ -20,7 +20,7 @@
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <errno.h> #include <errno.h>
#include "libs/misc.h" #include "libs/memlib.h"
#include "port.h" #include "port.h"
#include "types.h" #include "types.h"
#include "libs/uio.h" #include "libs/uio.h"
+1 -1
View File
@@ -20,7 +20,7 @@
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <errno.h> #include <errno.h>
#include "libs/misc.h" #include "libs/memlib.h"
#include "port.h" #include "port.h"
#include "types.h" #include "types.h"
#include "endian_uqm.h" #include "endian_uqm.h"
-1
View File
@@ -20,7 +20,6 @@
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <errno.h> #include <errno.h>
#include "libs/misc.h"
#include "libs/log.h" #include "libs/log.h"
#include "port.h" #include "port.h"
#include "types.h" #include "types.h"
-1
View File
@@ -24,7 +24,6 @@
#include "types.h" #include "types.h"
#include "libs/uio.h" #include "libs/uio.h"
#include "endian_uqm.h" #include "endian_uqm.h"
#include "libs/misc.h"
#include "libs/log.h" #include "libs/log.h"
#include "wav.h" #include "wav.h"
+1
View File
@@ -25,6 +25,7 @@
#include "libs/misc.h" #include "libs/misc.h"
#include "libs/threadlib.h" #include "libs/threadlib.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/memlib.h"
static uint32 mixer_initialized = 0; static uint32 mixer_initialized = 0;
static uint32 mixer_format; static uint32 mixer_format;
@@ -22,6 +22,7 @@
#include "audiodrv_nosound.h" #include "audiodrv_nosound.h"
#include "libs/tasklib.h" #include "libs/tasklib.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/memlib.h"
#include <stdlib.h> #include <stdlib.h>
@@ -22,6 +22,7 @@
#include "audiodrv_sdl.h" #include "audiodrv_sdl.h"
#include "libs/tasklib.h" #include "libs/tasklib.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/memlib.h"
#include <stdlib.h> #include <stdlib.h>
+1
View File
@@ -20,6 +20,7 @@
#include "sound.h" #include "sound.h"
#include "libs/reslib.h" #include "libs/reslib.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/memlib.h"
static MUSIC_REF curMusicRef; static MUSIC_REF curMusicRef;
@@ -23,6 +23,7 @@
#include "audiodrv_openal.h" #include "audiodrv_openal.h"
#include "libs/tasklib.h" #include "libs/tasklib.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/memlib.h"
#include <stdlib.h> #include <stdlib.h>
+1
View File
@@ -19,6 +19,7 @@
#include "libs/reslib.h" #include "libs/reslib.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/strings/strintrn.h" #include "libs/strings/strintrn.h"
#include "libs/memlib.h"
#include <math.h> #include <math.h>
+1
View File
@@ -22,6 +22,7 @@
#include <stdio.h> #include <stdio.h>
#include "libs/sndlib.h" #include "libs/sndlib.h"
#include "libs/reslib.h" #include "libs/reslib.h"
#include "libs/memlib.h"
extern void *_GetMusicData (uio_Stream *fp, DWORD length); extern void *_GetMusicData (uio_Stream *fp, DWORD length);
extern BOOLEAN _ReleaseMusicData (void *handle); extern BOOLEAN _ReleaseMusicData (void *handle);
+2
View File
@@ -20,6 +20,8 @@
#include "libs/compiler.h" #include "libs/compiler.h"
#include "libs/tasklib.h" #include "libs/tasklib.h"
#include "libs/inplib.h" #include "libs/inplib.h"
#include "libs/memlib.h"
static Task FadeTask; static Task FadeTask;
static SIZE TTotal; static SIZE TTotal;
-1
View File
@@ -17,7 +17,6 @@
#ifndef _UQM_SOUND_H // try avoiding collisions on id #ifndef _UQM_SOUND_H // try avoiding collisions on id
#define _UQM_SOUND_H #define _UQM_SOUND_H
#include "libs/misc.h"
#include "sndintrn.h" #include "sndintrn.h"
#include "audiocore.h" #include "audiocore.h"
#include "decoders/decoder.h" #include "decoders/decoder.h"
+1
View File
@@ -19,6 +19,7 @@
#include "sound.h" #include "sound.h"
#include "libs/tasklib.h" #include "libs/tasklib.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/memlib.h"
void void
+1
View File
@@ -18,6 +18,7 @@
#include "libs/sound/trackplayer.h" #include "libs/sound/trackplayer.h"
#include "libs/sound/trackint.h" #include "libs/sound/trackint.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/memlib.h"
#include "options.h" #include "options.h"
#include <ctype.h> #include <ctype.h>
#include <stdlib.h> #include <stdlib.h>
+2
View File
@@ -21,6 +21,8 @@
#include "libs/graphics/gfx_common.h" #include "libs/graphics/gfx_common.h"
#include "libs/reslib.h" #include "libs/reslib.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/memlib.h"
#define MAX_STRINGS 2048 #define MAX_STRINGS 2048
#define POOL_SIZE 4096 #define POOL_SIZE 4096
+1 -1
View File
@@ -17,7 +17,7 @@
*/ */
#include "strintrn.h" #include "strintrn.h"
#include "libs/misc.h" #include "libs/memlib.h"
STRING_TABLE STRING_TABLE
AllocStringTable (int num_entries, int flags) AllocStringTable (int num_entries, int flags)
@@ -16,6 +16,7 @@
#include <stdlib.h> #include <stdlib.h>
#include "libs/misc.h" #include "libs/misc.h"
#include "libs/memlib.h"
#include "posixthreads.h" #include "posixthreads.h"
#include <pthread.h> #include <pthread.h>
#include <unistd.h> #include <unistd.h>
+1
View File
@@ -16,6 +16,7 @@
#include <stdlib.h> #include <stdlib.h>
#include "libs/misc.h" #include "libs/misc.h"
#include "libs/memlib.h"
#include "sdlthreads.h" #include "sdlthreads.h"
#ifdef PROFILE_THREADS #ifdef PROFILE_THREADS
#include <signal.h> #include <signal.h>
+1 -1
View File
@@ -18,8 +18,8 @@
#include <stdlib.h> #include <stdlib.h>
#include "libs/threadlib.h" #include "libs/threadlib.h"
#include "libs/timelib.h" #include "libs/timelib.h"
#include "libs/misc.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/memlib.h"
#include "thrcommon.h" #include "thrcommon.h"
#define LIFECYCLE_SIZE 8 #define LIFECYCLE_SIZE 8
+1
View File
@@ -24,6 +24,7 @@
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include "libs/uio.h" #include "libs/uio.h"
#include "libs/memlib.h"
#include "endian_uqm.h" #include "endian_uqm.h"
#define THIS_PTR TFB_VideoDecoder* This #define THIS_PTR TFB_VideoDecoder* This
+2
View File
@@ -16,8 +16,10 @@
#include "video.h" #include "video.h"
#include "options.h"
#include "vidplayer.h" #include "vidplayer.h"
#include "libs/inplib.h" #include "libs/inplib.h"
#include "libs/memlib.h"
// XXX: we should not include anything from uqm/ inside libs/ // XXX: we should not include anything from uqm/ inside libs/
#include "uqm/setup.h" #include "uqm/setup.h"
-2
View File
@@ -17,8 +17,6 @@
#ifndef _UQM_VIDEO_H #ifndef _UQM_VIDEO_H
#define _UQM_VIDEO_H #define _UQM_VIDEO_H
#include "options.h"
#include "libs/misc.h"
#include "libs/vidlib.h" #include "libs/vidlib.h"
#include "libs/graphics/tfb_draw.h" #include "libs/graphics/tfb_draw.h"
#include "types.h" #include "types.h"
+1
View File
@@ -19,6 +19,7 @@
#include "videodec.h" #include "videodec.h"
#include "dukvid.h" #include "dukvid.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/memlib.h"
#define MAX_REG_DECODERS 31 #define MAX_REG_DECODERS 31
+1
View File
@@ -19,6 +19,7 @@
#include "libs/graphics/gfx_common.h" #include "libs/graphics/gfx_common.h"
#include "libs/graphics/tfb_draw.h" #include "libs/graphics/tfb_draw.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/memlib.h"
// XXX: we should not include anything from uqm/ inside libs/ // XXX: we should not include anything from uqm/ inside libs/
#include "uqm/controls.h" #include "uqm/controls.h"
#include "uqm/settings.h" #include "uqm/settings.h"
+2
View File
@@ -20,6 +20,8 @@
#include <string.h> #include <string.h>
#include "vidintrn.h" #include "vidintrn.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/memlib.h"
static BOOLEAN static BOOLEAN
FreeLegacyVideoData (void *data) FreeLegacyVideoData (void *data)
+1
View File
@@ -30,6 +30,7 @@
#include "libs/strlib.h" #include "libs/strlib.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/reslib.h" #include "libs/reslib.h"
#include "libs/memlib.h"
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>
+2 -2
View File
@@ -20,8 +20,8 @@
// For computer_intelligence() // For computer_intelligence()
#include "tactrans.h" #include "tactrans.h"
// For battleEndReady* // For battleEndReady*
#include "libs/misc.h" #include "libs/memlib.h"
// For HFree() // For HMalloc(), HFree()
#ifdef NETPLAY #ifdef NETPLAY
# include "netplay/netmelee.h" # include "netplay/netmelee.h"
#endif /* NETPLAY */ #endif /* NETPLAY */
+8 -14
View File
@@ -22,7 +22,7 @@
#include <assert.h> #include <assert.h>
#include "port.h" #include "port.h"
#include "libs/compiler.h" #include "libs/compiler.h"
#include "libs/misc.h" #include "libs/memlib.h"
// Note that we MUST use the QUEUE_TABLE variant at this time, because // Note that we MUST use the QUEUE_TABLE variant at this time, because
// certain gameplay elements depend on it. Namely, the maximum number // certain gameplay elements depend on it. Namely, the maximum number
@@ -32,12 +32,7 @@
// code works now. // code works now.
#define QUEUE_TABLE #define QUEUE_TABLE
#ifdef QUEUE_TABLE
typedef void* QUEUE_HANDLE; typedef void* QUEUE_HANDLE;
#else /* !QUEUE_TABLE */
#include "libs/memlib.h"
typedef MEM_HANDLE QUEUE_HANDLE;
#endif /* QUEUE_TABLE */
typedef UWORD OBJ_SIZE; typedef UWORD OBJ_SIZE;
typedef QUEUE_HANDLE HLINK; typedef QUEUE_HANDLE HLINK;
@@ -66,6 +61,9 @@ typedef struct /* queue */
#ifdef QUEUE_TABLE #ifdef QUEUE_TABLE
extern HLINK AllocLink (QUEUE *pq);
extern void FreeLink (QUEUE *pq, HLINK hLink);
static inline LINK * static inline LINK *
LockLink (const QUEUE *pq, HLINK h) LockLink (const QUEUE *pq, HLINK h)
{ {
@@ -96,10 +94,10 @@ UnlockLink (const QUEUE *pq, HLINK h)
#define SizeQueueTab(pq) (COUNT)((pq)->num_objects) #define SizeQueueTab(pq) (COUNT)((pq)->num_objects)
#define GetLinkAddr(pq,i) (HLINK)((pq)->pq_tab + ((pq)->object_size * ((i) - 1))) #define GetLinkAddr(pq,i) (HLINK)((pq)->pq_tab + ((pq)->object_size * ((i) - 1)))
#else /* !QUEUE_TABLE */ #else /* !QUEUE_TABLE */
#define AllocLink(pq) (HLINK)mem_allocate ((pq)->object_size, DEFAULT_MEM_FLAGS) #define AllocLink(pq) (HLINK)HMalloc ((pq)->object_size)
#define LockLink(pq, h) (LINK*)mem_lock (h) #define LockLink(pq, h) ((LINK*)(h))
#define UnlockLink(pq, h) mem_unlock (h) #define UnlockLink(pq, h) ((void)(h))
#define FreeLink(pq,h) mem_release (h) #define FreeLink(pq,h) HFree (h)
#endif /* QUEUE_TABLE */ #endif /* QUEUE_TABLE */
#define SetLinkSize(pq,s) ((pq)->object_size = (COUNT)(s)) #define SetLinkSize(pq,s) ((pq)->object_size = (COUNT)(s))
@@ -121,10 +119,6 @@ extern void InsertQueue (QUEUE *pq, HLINK hLink, HLINK hRefLink);
extern void RemoveQueue (QUEUE *pq, HLINK hLink); extern void RemoveQueue (QUEUE *pq, HLINK hLink);
extern COUNT CountLinks (QUEUE *pq); extern COUNT CountLinks (QUEUE *pq);
void ForAllLinks(QUEUE *pq, void (*callback)(LINK *, void *), void *arg); void ForAllLinks(QUEUE *pq, void (*callback)(LINK *, void *), void *arg);
#ifdef QUEUE_TABLE
extern HLINK AllocLink (QUEUE *pq);
extern void FreeLink (QUEUE *pq, HLINK hLink);
#endif /* QUEUE_TABLE */
#endif /* _DISPLIST_H */ #endif /* _DISPLIST_H */
+1
View File
@@ -27,6 +27,7 @@
#include "libs/compiler.h" #include "libs/compiler.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/memlib.h"
#include <stdlib.h> #include <stdlib.h>
#include <ctype.h> #include <ctype.h>
+1
View File
@@ -39,6 +39,7 @@
#include "libs/log.h" #include "libs/log.h"
#include "libs/mathlib.h" #include "libs/mathlib.h"
#include "libs/inplib.h" #include "libs/inplib.h"
#include "libs/misc.h"
static void DrawFadeText (const UNICODE *str1, const UNICODE *str2, static void DrawFadeText (const UNICODE *str1, const UNICODE *str2,
+1 -1
View File
@@ -29,7 +29,7 @@
#include "setup.h" #include "setup.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/misc.h" #include "libs/memlib.h"
#include "libs/threadlib.h" #include "libs/threadlib.h"
+1 -1
View File
@@ -19,7 +19,7 @@
#include "port.h" #include "port.h"
#include "controls.h" #include "controls.h"
#include "libs/inplib.h" #include "libs/inplib.h"
#include "libs/misc.h" #include "libs/memlib.h"
#include "libs/log.h" #include "libs/log.h"
#include "globdata.h" #include "globdata.h"
#include "sounds.h" #include "sounds.h"
+1 -1
View File
@@ -30,7 +30,7 @@
#include "sounds.h" #include "sounds.h"
#include "options.h" #include "options.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/misc.h" #include "libs/memlib.h"
#define LOAD_TEAM_NAME_TEXT_COLOR \ #define LOAD_TEAM_NAME_TEXT_COLOR \
-1
View File
@@ -22,7 +22,6 @@
#include "netplay.h" #include "netplay.h"
#include "checkbuf.h" #include "checkbuf.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/misc.h"
#include "../battle.h" #include "../battle.h"
// for battleFrameCount // for battleFrameCount
-1
View File
@@ -32,7 +32,6 @@
// for new_ship // for new_ship
#include "libs/log.h" #include "libs/log.h"
#include "libs/mathlib.h" #include "libs/mathlib.h"
#include "libs/misc.h"
ChecksumBuffer localChecksumBuffer; ChecksumBuffer localChecksumBuffer;
+1
View File
@@ -26,6 +26,7 @@
#include "libs/graphics/drawable.h" #include "libs/graphics/drawable.h"
#include "libs/mathlib.h" #include "libs/mathlib.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/memlib.h"
#include <math.h> #include <math.h>
#include <time.h> #include <time.h>
+1
View File
@@ -34,6 +34,7 @@
#include "libs/strlib.h" #include "libs/strlib.h"
#include "libs/graphics/gfx_common.h" #include "libs/graphics/gfx_common.h"
#include "libs/mathlib.h" #include "libs/mathlib.h"
#include "libs/memlib.h"
static inline long static inline long
+2
View File
@@ -31,6 +31,8 @@
#include "libs/graphics/drawcmd.h" #include "libs/graphics/drawcmd.h"
#include "libs/graphics/gfx_common.h" #include "libs/graphics/gfx_common.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/misc.h"
//#define DEBUG_PROCESS //#define DEBUG_PROCESS
+1
View File
@@ -36,6 +36,7 @@
#include "util.h" #include "util.h"
#include "libs/inplib.h" #include "libs/inplib.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/memlib.h"
// XXX: these should handle endian conversions later // XXX: these should handle endian conversions later
+1
View File
@@ -36,6 +36,7 @@
#include "libs/threadlib.h" #include "libs/threadlib.h"
#include "libs/vidlib.h" #include "libs/vidlib.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/misc.h"
#include <assert.h> #include <assert.h>
#include <errno.h> #include <errno.h>
+1
View File
@@ -34,6 +34,7 @@
#include "libs/sound/sound.h" #include "libs/sound/sound.h"
#include "libs/resource/stringbank.h" #include "libs/resource/stringbank.h"
#include "libs/log.h" #include "libs/log.h"
#include "libs/memlib.h"
#include "resinst.h" #include "resinst.h"
#include "nameref.h" #include "nameref.h"
+1
View File
@@ -38,6 +38,7 @@
#include "libs/gfxlib.h" #include "libs/gfxlib.h"
#include "libs/graphics/gfx_common.h" #include "libs/graphics/gfx_common.h"
#include "libs/inplib.h" #include "libs/inplib.h"
#include "libs/misc.h"
#include "uqmversion.h" #include "uqmversion.h"
#include "options.h" #include "options.h"
+1 -1
View File
@@ -19,7 +19,7 @@
#include "state.h" #include "state.h"
#include "encount.h" #include "encount.h"
#include "libs/misc.h" #include "libs/memlib.h"
#include "libs/log.h" #include "libs/log.h"
#ifdef HAVE_UNISTD_H #ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
-1
View File
@@ -32,7 +32,6 @@
#include "setup.h" #include "setup.h"
#include "state.h" #include "state.h"
#include "libs/mathlib.h" #include "libs/mathlib.h"
#include "libs/misc.h"
#include <stdio.h> #include <stdio.h>
#include <errno.h> #include <errno.h>