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 \ |
