diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2002-10-08 15:46:08 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2002-10-08 15:46:08 -0300 |
| commit | b3d0682fb94f56a438dbb4fdb2b3440ccc10cfb4 (patch) | |
| tree | 746fc9900768dfaf1ddffca35cb4f6fd55903bbf /lzio.c | |
| parent | 02afc892d5ce5d85e88faac443d7294589ee697a (diff) | |
| download | lua-b3d0682fb94f56a438dbb4fdb2b3440ccc10cfb4.tar.gz lua-b3d0682fb94f56a438dbb4fdb2b3440ccc10cfb4.tar.bz2 lua-b3d0682fb94f56a438dbb4fdb2b3440ccc10cfb4.zip | |
use of different buffers for scanner and concatenation
Diffstat (limited to 'lzio.c')
| -rw-r--r-- | lzio.c | 15 |
1 files changed, 13 insertions, 2 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lzio.c,v 1.20 2002/08/05 18:45:02 roberto Exp roberto $ | 2 | ** $Id: lzio.c,v 1.21 2002/08/06 17:26:45 roberto Exp roberto $ |
| 3 | ** a generic input stream interface | 3 | ** a generic input stream interface |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -10,10 +10,10 @@ | |||
| 10 | #include "lua.h" | 10 | #include "lua.h" |
| 11 | 11 | ||
| 12 | #include "llimits.h" | 12 | #include "llimits.h" |
| 13 | #include "lmem.h" | ||
| 13 | #include "lzio.h" | 14 | #include "lzio.h" |
| 14 | 15 | ||
| 15 | 16 | ||
| 16 | |||
| 17 | int luaZ_fill (ZIO *z) { | 17 | int luaZ_fill (ZIO *z) { |
| 18 | size_t size; | 18 | size_t size; |
| 19 | const char *buff = z->reader(NULL, z->data, &size); | 19 | const char *buff = z->reader(NULL, z->data, &size); |
| @@ -66,3 +66,14 @@ size_t luaZ_read (ZIO *z, void *b, size_t n) { | |||
| 66 | return 0; | 66 | return 0; |
| 67 | } | 67 | } |
| 68 | 68 | ||
| 69 | /* ------------------------------------------------------------------------ */ | ||
| 70 | char *luaZ_openspace (lua_State *L, Mbuffer *buff, size_t n) { | ||
| 71 | if (n > buff->buffsize) { | ||
| 72 | if (n < LUA_MINBUFFER) n = LUA_MINBUFFER; | ||
| 73 | luaM_reallocvector(L, buff->buffer, buff->buffsize, n, char); | ||
| 74 | buff->buffsize = n; | ||
| 75 | } | ||
| 76 | return buff->buffer; | ||
| 77 | } | ||
| 78 | |||
| 79 | |||
