aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--luamem.c8
-rw-r--r--luamem.h4
2 files changed, 8 insertions, 4 deletions
diff --git a/luamem.c b/luamem.c
index 9c0799b3..812da490 100644
--- a/luamem.c
+++ b/luamem.c
@@ -3,7 +3,7 @@
3** TecCGraf - PUC-Rio 3** TecCGraf - PUC-Rio
4*/ 4*/
5 5
6char *rcs_luamem = "$Id: luamem.c,v 1.15 1997/03/31 14:17:09 roberto Exp roberto $"; 6char *rcs_luamem = "$Id: luamem.c,v 1.16 1997/04/01 21:23:20 roberto Exp $";
7 7
8#include <stdlib.h> 8#include <stdlib.h>
9 9
@@ -15,7 +15,7 @@ char *rcs_luamem = "$Id: luamem.c,v 1.15 1997/03/31 14:17:09 roberto Exp roberto
15 15
16#if !DEBUG 16#if !DEBUG
17 17
18void luaI_free (void *block) 18static void lfree (void *block)
19{ 19{
20 if (block) 20 if (block)
21 { 21 {
@@ -31,6 +31,10 @@ void *luaI_realloc (void *oldblock, unsigned long size)
31 size_t s = (size_t)size; 31 size_t s = (size_t)size;
32 if (s != size) 32 if (s != size)
33 lua_error("Allocation Error: Block too big"); 33 lua_error("Allocation Error: Block too big");
34 if (size == 0) { /* ANSI doen't need this, but some machines... */
35 lfree(oldblock);
36 return NULL;
37 }
34 block = oldblock ? realloc(oldblock, s) : malloc(s); 38 block = oldblock ? realloc(oldblock, s) : malloc(s);
35 if (block == NULL) 39 if (block == NULL)
36 lua_error(memEM); 40 lua_error(memEM);
diff --git a/luamem.h b/luamem.h
index 8b88ee9b..f9c573d7 100644
--- a/luamem.h
+++ b/luamem.h
@@ -1,7 +1,7 @@
1/* 1/*
2** mem.c 2** mem.c
3** memory manager for lua 3** memory manager for lua
4** $Id: luamem.h,v 1.9 1997/03/31 14:10:11 roberto Exp roberto $ 4** $Id: luamem.h,v 1.10 1997/07/29 20:38:45 roberto Exp roberto $
5*/ 5*/
6 6
7#ifndef luamem_h 7#ifndef luamem_h
@@ -23,12 +23,12 @@
23#define memEM "not enough memory" 23#define memEM "not enough memory"
24 24
25 25
26void luaI_free (void *block);
27void *luaI_realloc (void *oldblock, unsigned long size); 26void *luaI_realloc (void *oldblock, unsigned long size);
28void *luaI_buffer (unsigned long size); 27void *luaI_buffer (unsigned long size);
29int luaI_growvector (void **block, unsigned long nelems, int size, 28int luaI_growvector (void **block, unsigned long nelems, int size,
30 char *errormsg, unsigned long limit); 29 char *errormsg, unsigned long limit);
31 30
31#define luaI_free(b) luaI_realloc((b), 0)
32#define luaI_malloc(s) luaI_realloc(NULL, (s)) 32#define luaI_malloc(s) luaI_realloc(NULL, (s))
33#define new(s) ((s *)luaI_malloc(sizeof(s))) 33#define new(s) ((s *)luaI_malloc(sizeof(s)))
34#define newvector(n,s) ((s *)luaI_malloc((n)*sizeof(s))) 34#define newvector(n,s) ((s *)luaI_malloc((n)*sizeof(s)))