diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2003-08-25 17:00:50 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2003-08-25 17:00:50 -0300 |
commit | 4b2e71ddb674c3bb22f549743721155ddaeb9b5d (patch) | |
tree | 0dfbbf6eb89f732af749085df890448c7b5c33d5 /lzio.c | |
parent | 9fcc48517659c72de43bece515fdd5cea88c07f8 (diff) | |
download | lua-4b2e71ddb674c3bb22f549743721155ddaeb9b5d.tar.gz lua-4b2e71ddb674c3bb22f549743721155ddaeb9b5d.tar.bz2 lua-4b2e71ddb674c3bb22f549743721155ddaeb9b5d.zip |
ZIO passes Lua state to chunk reader
Diffstat (limited to 'lzio.c')
-rw-r--r-- | lzio.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lzio.c,v 1.24 2003/03/20 16:00:56 roberto Exp roberto $ | 2 | ** $Id: lzio.c,v 1.25 2003/08/25 19:51:54 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 | */ |
@@ -18,7 +18,7 @@ | |||
18 | 18 | ||
19 | int luaZ_fill (ZIO *z) { | 19 | int luaZ_fill (ZIO *z) { |
20 | size_t size; | 20 | size_t size; |
21 | const char *buff = z->reader(NULL, z->data, &size); | 21 | const char *buff = z->reader(z->L, z->data, &size); |
22 | if (buff == NULL || size == 0) return EOZ; | 22 | if (buff == NULL || size == 0) return EOZ; |
23 | z->n = size - 1; | 23 | z->n = size - 1; |
24 | z->p = buff; | 24 | z->p = buff; |
@@ -37,7 +37,8 @@ int luaZ_lookahead (ZIO *z) { | |||
37 | } | 37 | } |
38 | 38 | ||
39 | 39 | ||
40 | void luaZ_init (ZIO *z, lua_Chunkreader reader, void *data) { | 40 | void luaZ_init (lua_State *L, ZIO *z, lua_Chunkreader reader, void *data) { |
41 | z->L = L; | ||
41 | z->reader = reader; | 42 | z->reader = reader; |
42 | z->data = data; | 43 | z->data = data; |
43 | z->n = 0; | 44 | z->n = 0; |