|
@@ -3,7 +3,7 @@
|
|
|
** TecCGraf - PUC-Rio
|
|
|
*/
|
|
|
|
|
|
-char *rcs_mem = "$Id: mem.c,v 1.11 1996/03/21 18:54:29 roberto Exp roberto $";
|
|
|
+char *rcs_mem = "$Id: mem.c,v 1.12 1996/05/06 16:59:00 roberto Exp roberto $";
|
|
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
@@ -11,9 +11,6 @@ char *rcs_mem = "$Id: mem.c,v 1.11 1996/03/21 18:54:29 roberto Exp roberto $";
|
|
|
#include "lua.h"
|
|
|
|
|
|
|
|
|
-#define mem_error() lua_error(memEM)
|
|
|
-
|
|
|
-
|
|
|
void luaI_free (void *block)
|
|
|
{
|
|
|
if (block)
|
|
@@ -24,21 +21,15 @@ void luaI_free (void *block)
|
|
|
}
|
|
|
|
|
|
|
|
|
-void *luaI_malloc (unsigned long size)
|
|
|
-{
|
|
|
- void *block = malloc((size_t)size);
|
|
|
- if (block == NULL)
|
|
|
- mem_error();
|
|
|
- return block;
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
void *luaI_realloc (void *oldblock, unsigned long size)
|
|
|
{
|
|
|
- void *block = oldblock ? realloc(oldblock, (size_t)size) :
|
|
|
- malloc((size_t)size);
|
|
|
+ void *block;
|
|
|
+ size_t s = (size_t)size;
|
|
|
+ if (s != size)
|
|
|
+ lua_error("Allocation Error: Block too big");
|
|
|
+ block = oldblock ? realloc(oldblock, s) : malloc(s);
|
|
|
if (block == NULL)
|
|
|
- mem_error();
|
|
|
+ lua_error(memEM);
|
|
|
return block;
|
|
|
}
|
|
|
|
|
@@ -52,7 +43,7 @@ int luaI_growvector (void **block, unsigned long nelems, int size,
|
|
|
if (nelems > limit)
|
|
|
nelems = limit;
|
|
|
*block = luaI_realloc(*block, nelems*size);
|
|
|
- return (int) nelems;
|
|
|
+ return (int)nelems;
|
|
|
}
|
|
|
|
|
|
|