summaryrefslogtreecommitdiffstats
path: root/src/rw/MemoryMgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/rw/MemoryMgr.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/rw/MemoryMgr.cpp b/src/rw/MemoryMgr.cpp
index ef0ecbdf..2379692c 100644
--- a/src/rw/MemoryMgr.cpp
+++ b/src/rw/MemoryMgr.cpp
@@ -3,7 +3,7 @@
#include "MemoryMgr.h"
-void *pMemoryTop;
+uint8 *pMemoryTop;
void
InitMemoryMgr(void)
@@ -42,8 +42,8 @@ MemoryMgrMalloc(size_t size)
#else
void *mem = malloc(size);
#endif
- if(mem > pMemoryTop)
- pMemoryTop = mem;
+ if((uint8*)mem + size > pMemoryTop)
+ pMemoryTop = (uint8*)mem + size ;
return mem;
}
@@ -55,8 +55,8 @@ MemoryMgrRealloc(void *ptr, size_t size)
#else
void *mem = realloc(ptr, size);
#endif
- if(mem > pMemoryTop)
- pMemoryTop = mem;
+ if((uint8*)mem + size > pMemoryTop)
+ pMemoryTop = (uint8*)mem + size ;
return mem;
}
@@ -68,8 +68,8 @@ MemoryMgrCalloc(size_t num, size_t size)
#else
void *mem = calloc(num, size);
#endif
- if(mem > pMemoryTop)
- pMemoryTop = mem;
+ if((uint8*)mem + size > pMemoryTop)
+ pMemoryTop = (uint8*)mem + size ;
#ifdef FIX_BUGS
memset(mem, 0, num*size);
#endif
@@ -93,7 +93,7 @@ MemoryMgrFree(void *ptr)
void *
RwMallocAlign(RwUInt32 size, RwUInt32 align)
{
-#ifdef FIX_BUGS
+#if defined (FIX_BUGS) || defined(FIX_BUGS_64)
uintptr ptralign = align-1;
void *mem = (void *)MemoryMgrMalloc(size + sizeof(uintptr) + ptralign);