PR_Alloc/Free/FreeAll now report filename/fileline of their caller in the Mem_ calls...
authorhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Sun, 8 May 2005 10:42:09 +0000 (10:42 +0000)
committerhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Sun, 8 May 2005 10:42:09 +0000 (10:42 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@5245 d7cf8633-e32d-0410-b094-e92efae38249

pr_edict.c
progs.h

index 8b41df0..985fc4d 100644 (file)
@@ -1690,22 +1690,22 @@ void PR_Shutdown (void)
        Mem_FreePool(&serverprogs_mempool);
 }
 
-void *PR_Alloc(size_t buffersize)
+void *_PR_Alloc(size_t buffersize, const char *filename, int fileline)
 {
-       return Mem_Alloc(serverprogs_mempool, buffersize);
+       return _Mem_Alloc(serverprogs_mempool, buffersize, filename, fileline);
 }
 
-void PR_Free(void *buffer)
+void _PR_Free(void *buffer, const char *filename, int fileline)
 {
-       Mem_Free(buffer);
+       _Mem_Free(buffer, filename, fileline);
 }
 
-void PR_FreeAll(void)
+void _PR_FreeAll(const char *filename, int fileline)
 {
        progs = NULL;
        pr_fielddefs = NULL;
        pr_functions = NULL;
-       Mem_EmptyPool(serverprogs_mempool);
+       _Mem_EmptyPool(serverprogs_mempool, filename, fileline);
 }
 
 // LordHavoc: turned EDICT_NUM into a #define for speed reasons
diff --git a/progs.h b/progs.h
index cd692f5..b39f355 100644 (file)
--- a/progs.h
+++ b/progs.h
@@ -164,9 +164,12 @@ void PR_Shutdown (void);
 void PR_ExecuteProgram (func_t fnum, const char *errormessage);
 void PR_LoadProgs (const char *progsname);
 
-void *PR_Alloc (size_t buffersize);
-void PR_Free (void *buffer);
-void PR_FreeAll (void);
+#define PR_Alloc(buffersize) _PR_Alloc(buffersize, __FILE__, __LINE__)
+#define PR_Free(buffer) _PR_Free(buffer, __FILE__, __LINE__)
+#define PR_FreeAll() _PR_FreeAll(__FILE__, __LINE__)
+void *_PR_Alloc (size_t buffersize, const char *filename, int fileline);
+void _PR_Free (void *buffer, const char *filename, int fileline);
+void _PR_FreeAll (const char *filename, int fileline);
 
 void PR_Profile_f (void);