summaryrefslogtreecommitdiff
path: root/src/mem.c
diff options
context:
space:
mode:
authorLua Team <team@lua.org>1996-11-19 12:00:00 +0000
committerrepogen <>1996-11-19 12:00:00 +0000
commit47a298a24ad3a8202440051de5938618502302a0 (patch)
tree9be43568f1e90c9219d5e3860b58c8ac1db5f062 /src/mem.c
parent721542976ebc89f2f8d17d19be7e4426570b69be (diff)
downloadlua-github-2.5.tar.gz
Lua 2.52.5
Diffstat (limited to 'src/mem.c')
-rw-r--r--src/mem.c25
1 files changed, 8 insertions, 17 deletions
diff --git a/src/mem.c b/src/mem.c
index 2e410876..4e3bcc52 100644
--- a/src/mem.c
+++ b/src/mem.c
@@ -3,7 +3,7 @@
** TecCGraf - PUC-Rio
*/
-char *rcs_mem = "$Id: mem.c,v 1.12 1996/05/06 16:59:00 roberto Exp $";
+char *rcs_mem = "$Id: mem.c,v 1.13 1996/05/24 14:31:10 roberto Exp $";
#include <stdlib.h>
@@ -11,9 +11,6 @@ char *rcs_mem = "$Id: mem.c,v 1.12 1996/05/06 16:59:00 roberto Exp $";
#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;
}