diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1997-12-23 17:24:36 -0200 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1997-12-23 17:24:36 -0200 |
commit | d916487d7c1f620dc7844ca4febfd51f8708a7be (patch) | |
tree | 9448940263d1a02f4b7d9623ba9313f940f4cba0 | |
parent | 1bf762ba3877eb27d7c30bbbbc774f1634062800 (diff) | |
download | lua-d916487d7c1f620dc7844ca4febfd51f8708a7be.tar.gz lua-d916487d7c1f620dc7844ca4febfd51f8708a7be.tar.bz2 lua-d916487d7c1f620dc7844ca4febfd51f8708a7be.zip |
auxlib split in two parts (lauxlib and lbuffer)
-rw-r--r-- | lauxlib.c | 73 | ||||
-rw-r--r-- | makefile | 8 |
2 files changed, 5 insertions, 76 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lauxlib.c,v 1.5 1997/12/09 13:35:19 roberto Exp roberto $ | 2 | ** $Id: lauxlib.c,v 1.6 1997/12/17 20:48:58 roberto Exp roberto $ |
3 | ** Auxiliar functions for building Lua libraries | 3 | ** Auxiliar functions for building Lua libraries |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -7,11 +7,8 @@ | |||
7 | 7 | ||
8 | #include <stdarg.h> | 8 | #include <stdarg.h> |
9 | #include <stdio.h> | 9 | #include <stdio.h> |
10 | #include <string.h> | ||
11 | 10 | ||
12 | #include "lauxlib.h" | 11 | #include "lauxlib.h" |
13 | #include "lmem.h" | ||
14 | #include "lstate.h" | ||
15 | #include "lua.h" | 12 | #include "lua.h" |
16 | #include "luadebug.h" | 13 | #include "luadebug.h" |
17 | 14 | ||
@@ -100,71 +97,3 @@ void luaL_verror (char *fmt, ...) | |||
100 | lua_error(buff); | 97 | lua_error(buff); |
101 | } | 98 | } |
102 | 99 | ||
103 | |||
104 | /*------------------------------------------------------- | ||
105 | ** Auxiliar buffer | ||
106 | -------------------------------------------------------*/ | ||
107 | |||
108 | #define BUFF_STEP 32 | ||
109 | |||
110 | #define openspace(size) if (L->Mbuffnext+(size) > L->Mbuffsize) Openspace(size) | ||
111 | |||
112 | static void Openspace (int size) | ||
113 | { | ||
114 | LState *l = L; /* to optimize */ | ||
115 | int base = l->Mbuffbase-l->Mbuffer; | ||
116 | l->Mbuffsize *= 2; | ||
117 | if (l->Mbuffnext+size > l->Mbuffsize) /* still not big enough? */ | ||
118 | l->Mbuffsize = l->Mbuffnext+size; | ||
119 | l->Mbuffer = luaM_realloc(l->Mbuffer, l->Mbuffsize); | ||
120 | l->Mbuffbase = l->Mbuffer+base; | ||
121 | } | ||
122 | |||
123 | |||
124 | char *luaL_openspace (int size) | ||
125 | { | ||
126 | openspace(size); | ||
127 | return L->Mbuffer+L->Mbuffnext; | ||
128 | } | ||
129 | |||
130 | |||
131 | void luaL_addchar (int c) | ||
132 | { | ||
133 | openspace(BUFF_STEP); | ||
134 | L->Mbuffer[L->Mbuffnext++] = c; | ||
135 | } | ||
136 | |||
137 | |||
138 | void luaL_resetbuffer (void) | ||
139 | { | ||
140 | L->Mbuffnext = L->Mbuffbase-L->Mbuffer; | ||
141 | } | ||
142 | |||
143 | |||
144 | void luaL_addsize (int n) | ||
145 | { | ||
146 | L->Mbuffnext += n; | ||
147 | } | ||
148 | |||
149 | |||
150 | int luaL_newbuffer (int size) | ||
151 | { | ||
152 | int old = L->Mbuffbase-L->Mbuffer; | ||
153 | openspace(size); | ||
154 | L->Mbuffbase = L->Mbuffer+L->Mbuffnext; | ||
155 | return old; | ||
156 | } | ||
157 | |||
158 | |||
159 | void luaL_oldbuffer (int old) | ||
160 | { | ||
161 | L->Mbuffnext = L->Mbuffbase-L->Mbuffer; | ||
162 | L->Mbuffbase = L->Mbuffer+old; | ||
163 | } | ||
164 | |||
165 | |||
166 | char *luaL_buffer (void) | ||
167 | { | ||
168 | return L->Mbuffbase; | ||
169 | } | ||
170 | |||
@@ -1,5 +1,5 @@ | |||
1 | # | 1 | # |
2 | ## $Id: makefile,v 1.6 1997/11/19 17:29:23 roberto Exp roberto $ | 2 | ## $Id: makefile,v 1.7 1997/12/17 20:48:58 roberto Exp roberto $ |
3 | ## Makefile | 3 | ## Makefile |
4 | ## See Copyright Notice in lua.h | 4 | ## See Copyright Notice in lua.h |
5 | # | 5 | # |
@@ -36,6 +36,7 @@ ARFLAGS = rvl | |||
36 | LUAOBJS = \ | 36 | LUAOBJS = \ |
37 | lapi.o \ | 37 | lapi.o \ |
38 | lauxlib.o \ | 38 | lauxlib.o \ |
39 | lbuffer.o \ | ||
39 | lbuiltin.o \ | 40 | lbuiltin.o \ |
40 | ldo.o \ | 41 | ldo.o \ |
41 | lfunc.o \ | 42 | lfunc.o \ |
@@ -91,11 +92,10 @@ clear : | |||
91 | %.c : RCS/%.c,v | 92 | %.c : RCS/%.c,v |
92 | co $@ | 93 | co $@ |
93 | 94 | ||
94 | |||
95 | lapi.o: lapi.c lapi.h lua.h lobject.h lauxlib.h ldo.h lstate.h lfunc.h \ | 95 | lapi.o: lapi.c lapi.h lua.h lobject.h lauxlib.h ldo.h lstate.h lfunc.h \ |
96 | lgc.h lmem.h lstring.h ltable.h ltm.h luadebug.h lvm.h | 96 | lgc.h lmem.h lstring.h ltable.h ltm.h luadebug.h lvm.h |
97 | lauxlib.o: lauxlib.c lauxlib.h lua.h lmem.h lstate.h lobject.h \ | 97 | lauxlib.o: lauxlib.c lauxlib.h lua.h luadebug.h |
98 | luadebug.h | 98 | lbuffer.o: lbuffer.c lauxlib.h lua.h lmem.h lstate.h lobject.h |
99 | lbuiltin.o: lbuiltin.c lapi.h lua.h lobject.h lauxlib.h lbuiltin.h \ | 99 | lbuiltin.o: lbuiltin.c lapi.h lua.h lobject.h lauxlib.h lbuiltin.h \ |
100 | ldo.h lstate.h lfunc.h lmem.h lstring.h ltable.h ltm.h | 100 | ldo.h lstate.h lfunc.h lmem.h lstring.h ltable.h ltm.h |
101 | ldo.o: ldo.c ldo.h lobject.h lua.h lstate.h lfunc.h lgc.h lmem.h \ | 101 | ldo.o: ldo.c ldo.h lobject.h lua.h lstate.h lfunc.h lgc.h lmem.h \ |