diff options
Diffstat (limited to 'luamem.h')
-rw-r--r-- | luamem.h | 16 |
1 files changed, 13 insertions, 3 deletions
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | ** mem.c | 2 | ** mem.c |
3 | ** memory manager for lua | 3 | ** memory manager for lua |
4 | ** $Id: mem.h,v 1.3 1996/02/22 20:34:33 roberto Exp roberto $ | 4 | ** $Id: mem.h,v 1.4 1996/03/14 15:55:49 roberto Exp roberto $ |
5 | */ | 5 | */ |
6 | 6 | ||
7 | #ifndef mem_h | 7 | #ifndef mem_h |
@@ -11,14 +11,24 @@ | |||
11 | #define NULL 0 | 11 | #define NULL 0 |
12 | #endif | 12 | #endif |
13 | 13 | ||
14 | |||
15 | /* memory error messages */ | ||
16 | #define NUMERRMSG 6 | ||
17 | enum memerrormsg {codeEM, symbolEM, constantEM, stackEM, lexEM, lockEM}; | ||
18 | extern char *luaI_memerrormsg[]; | ||
19 | |||
20 | |||
14 | void luaI_free (void *block); | 21 | void luaI_free (void *block); |
15 | void *luaI_malloc (unsigned long size); | 22 | void *luaI_malloc (unsigned long size); |
16 | void *luaI_realloc (void *oldblock, unsigned long size); | 23 | void *luaI_realloc (void *oldblock, unsigned long size); |
17 | void* luaI_buffer (unsigned long size); | 24 | void *luaI_buffer (unsigned long size); |
25 | int luaI_growvector (void **block, unsigned long nelems, int size, | ||
26 | enum memerrormsg errormsg, unsigned long limit); | ||
18 | 27 | ||
19 | #define new(s) ((s *)luaI_malloc(sizeof(s))) | 28 | #define new(s) ((s *)luaI_malloc(sizeof(s))) |
20 | #define newvector(n,s) ((s *)luaI_malloc((n)*sizeof(s))) | 29 | #define newvector(n,s) ((s *)luaI_malloc((n)*sizeof(s))) |
21 | #define growvector(old,n,s) ((s *)luaI_realloc(old,(n)*sizeof(s))) | 30 | #define growvector(old,n,s,e,l) \ |
31 | (luaI_growvector((void**)old,n,sizeof(s),e,l)) | ||
22 | 32 | ||
23 | #endif | 33 | #endif |
24 | 34 | ||