aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>1996-03-14 12:55:49 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>1996-03-14 12:55:49 -0300
commit7236df875aa62e3e217e676365738ae5a0308a9b (patch)
tree433387dc47bc099b32cb79e36f032862d7a47bc8
parent675e608325ace43e4350bcde8cfb6ec93b46788f (diff)
downloadlua-7236df875aa62e3e217e676365738ae5a0308a9b.tar.gz
lua-7236df875aa62e3e217e676365738ae5a0308a9b.tar.bz2
lua-7236df875aa62e3e217e676365738ae5a0308a9b.zip
new function "luaI_buffer".
-rw-r--r--luamem.c12
-rw-r--r--luamem.h3
2 files changed, 13 insertions, 2 deletions
diff --git a/luamem.c b/luamem.c
index ef4eae29..eeceaea2 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_mem = "$Id: mem.c,v 1.7 1996/02/04 16:59:12 roberto Exp roberto $"; 6char *rcs_mem = "$Id: mem.c,v 1.8 1996/02/22 20:34:33 roberto Exp roberto $";
7 7
8#include <stdlib.h> 8#include <stdlib.h>
9#include <string.h> 9#include <string.h>
@@ -53,3 +53,13 @@ void *luaI_realloc (void *oldblock, unsigned long size)
53 return block; 53 return block;
54} 54}
55 55
56
57void* luaI_buffer (unsigned long size)
58{
59 static unsigned long buffsize = 0;
60 static char* buffer = NULL;
61 if (size > buffsize)
62 buffer = luaI_realloc(buffer, buffsize=size);
63 return buffer;
64}
65
diff --git a/luamem.h b/luamem.h
index 06687efc..57e8f2d9 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: mem.h,v 1.2 1995/01/13 22:11:12 roberto Exp roberto $ 4** $Id: mem.h,v 1.3 1996/02/22 20:34:33 roberto Exp roberto $
5*/ 5*/
6 6
7#ifndef mem_h 7#ifndef mem_h
@@ -14,6 +14,7 @@
14void luaI_free (void *block); 14void luaI_free (void *block);
15void *luaI_malloc (unsigned long size); 15void *luaI_malloc (unsigned long size);
16void *luaI_realloc (void *oldblock, unsigned long size); 16void *luaI_realloc (void *oldblock, unsigned long size);
17void* luaI_buffer (unsigned long size);
17 18
18#define new(s) ((s *)luaI_malloc(sizeof(s))) 19#define new(s) ((s *)luaI_malloc(sizeof(s)))
19#define newvector(n,s) ((s *)luaI_malloc((n)*sizeof(s))) 20#define newvector(n,s) ((s *)luaI_malloc((n)*sizeof(s)))