summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lauxlib.h27
-rw-r--r--liolib.c8
2 files changed, 28 insertions, 7 deletions
diff --git a/lauxlib.h b/lauxlib.h
index 2ec7e50c..5f6de7c7 100644
--- a/lauxlib.h
+++ b/lauxlib.h
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lauxlib.h,v 1.116 2011/04/08 19:17:36 roberto Exp roberto $ 2** $Id: lauxlib.h,v 1.117 2011/06/16 14:10:12 roberto Exp roberto $
3** Auxiliary functions for building Lua libraries 3** Auxiliary functions for building Lua libraries
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -163,6 +163,31 @@ LUALIB_API char *(luaL_buffinitsize) (lua_State *L, luaL_Buffer *B, size_t sz);
163/* }====================================================== */ 163/* }====================================================== */
164 164
165 165
166
167/*
168** {======================================================
169** File handles for IO library
170** =======================================================
171*/
172
173/*
174** A file handle is a userdata with metatable 'LUA_FILEHANDLE' and
175** initial structure 'luaIO_Stream' (it may contain other fields
176** after that initial structure).
177*/
178
179#define LUA_FILEHANDLE "FILE*"
180
181
182typedef struct luaIO_Stream {
183 FILE *f; /* stream (NULL for incompletely created streams) */
184 lua_CFunction closef; /* to close stream (NULL for closed streams) */
185} luaIO_Stream;
186
187/* }====================================================== */
188
189
190
166/* compatibility with old module system */ 191/* compatibility with old module system */
167#if defined(LUA_COMPAT_MODULE) 192#if defined(LUA_COMPAT_MODULE)
168 193
diff --git a/liolib.c b/liolib.c
index f40094f4..b5b90309 100644
--- a/liolib.c
+++ b/liolib.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: liolib.c,v 2.104 2011/09/13 21:09:04 roberto Exp roberto $ 2** $Id: liolib.c,v 2.105 2011/11/09 14:10:43 roberto Exp roberto $
3** Standard I/O (and system) library 3** Standard I/O (and system) library
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -102,11 +102,7 @@
102#define IO_OUTPUT (IO_PREFIX "output") 102#define IO_OUTPUT (IO_PREFIX "output")
103 103
104 104
105typedef struct LStream { 105typedef luaIO_Stream LStream;
106 FILE *f; /* stream */
107 lua_CFunction closef; /* to close stream (NULL for closed streams) */
108} LStream;
109
110 106
111 107
112#define tolstream(L) ((LStream *)luaL_checkudata(L, 1, LUA_FILEHANDLE)) 108#define tolstream(L) ((LStream *)luaL_checkudata(L, 1, LUA_FILEHANDLE))