#include "darkplaces.h"
-void R_TextureStats_Print(qbool, qbool, qbool);
-void GL_Mesh_ListVBOs(qbool);
-
#ifdef WIN32
#include <windows.h>
#include <winbase.h>
// (Windows growing its swapfile for example)
static void *attempt_malloc(size_t size)
{
+#ifndef WIN32
+ return malloc(size);
+#else
void *base;
// try for half a second or so
unsigned int attempts = 500;
Sys_Sleep(1000);
}
return NULL;
+#endif
}
#endif
#if MEMCLUMPING
if (size <= MEMCLUMPSIZE)
{
- int index;
- unsigned int bit;
- unsigned int needbits;
- unsigned int startbit;
- unsigned int endbit;
- unsigned int needints;
- int startindex;
- int endindex;
+ intptr_t index;
+ size_t bit;
+ size_t needbits;
+ size_t startbit;
+ size_t endbit;
+ size_t needints;
+ intptr_t startindex;
+ intptr_t endindex;
unsigned int value;
unsigned int mask;
unsigned int *array;
static void Clump_FreeBlock(void *base, size_t size)
{
#if MEMCLUMPING
- unsigned int needbits;
- unsigned int startbit;
- unsigned int endbit;
- unsigned int bit;
+ size_t needbits;
+ size_t startbit;
+ size_t endbit;
+ size_t bit;
memclump_t **clumpchainpointer;
memclump_t *clump;
unsigned char *start = (unsigned char *)base;
static void MemStats_f(cmd_state_t *cmd)
{
Mem_CheckSentinelsGlobal();
- R_TextureStats_Print(false, false, true);
- GL_Mesh_ListVBOs(false);
Mem_PrintStats();
}
-char* Mem_strdup (mempool_t *pool, const char* s)
+char* _Mem_strdup (mempool_t *pool, const char* s, const char *filename, int fileline)
{
char* p;
size_t sz;
if (s == NULL)
return NULL;
sz = strlen (s) + 1;
- p = (char*)Mem_Alloc (pool, sz);
+ p = (char*)_Mem_Alloc (pool, NULL, sz, 16, filename, fileline);
strlcpy (p, s, sz);
return p;
}