|
@@ -1,5 +1,5 @@
|
|
/*
|
|
/*
|
|
-** $Id: liolib.c,v 2.150 2016/09/01 16:14:56 roberto Exp roberto $
|
|
|
|
|
|
+** $Id: liolib.c,v 2.151 2016/12/20 18:37:00 roberto Exp roberto $
|
|
** Standard I/O (and system) library
|
|
** Standard I/O (and system) library
|
|
** See Copyright Notice in lua.h
|
|
** See Copyright Notice in lua.h
|
|
*/
|
|
*/
|
|
@@ -206,11 +206,16 @@ static int aux_close (lua_State *L) {
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
+static int f_close (lua_State *L) {
|
|
|
|
+ tofile(L); /* make sure argument is an open stream */
|
|
|
|
+ return aux_close(L);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
static int io_close (lua_State *L) {
|
|
static int io_close (lua_State *L) {
|
|
if (lua_isnone(L, 1)) /* no argument? */
|
|
if (lua_isnone(L, 1)) /* no argument? */
|
|
lua_getfield(L, LUA_REGISTRYINDEX, IO_OUTPUT); /* use standard output */
|
|
lua_getfield(L, LUA_REGISTRYINDEX, IO_OUTPUT); /* use standard output */
|
|
- tofile(L); /* make sure argument is an open stream */
|
|
|
|
- return aux_close(L);
|
|
|
|
|
|
+ return f_close(L);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -712,7 +717,7 @@ static const luaL_Reg iolib[] = {
|
|
** methods for file handles
|
|
** methods for file handles
|
|
*/
|
|
*/
|
|
static const luaL_Reg flib[] = {
|
|
static const luaL_Reg flib[] = {
|
|
- {"close", io_close},
|
|
|
|
|
|
+ {"close", f_close},
|
|
{"flush", f_flush},
|
|
{"flush", f_flush},
|
|
{"lines", f_lines},
|
|
{"lines", f_lines},
|
|
{"read", f_read},
|
|
{"read", f_read},
|