Skip to content

Commit

Permalink
error when calling close method without arguments (e.g.,
Browse files Browse the repository at this point in the history
|io.stdin.close()|)
  • Loading branch information
roberto-ieru committed Feb 9, 2017
1 parent e354c63 commit d266d40
Showing 1 changed file with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions liolib.c
@@ -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
** See Copyright Notice in lua.h
*/
Expand Down Expand Up @@ -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) {
if (lua_isnone(L, 1)) /* no argument? */
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);
}


Expand Down Expand Up @@ -712,7 +717,7 @@ static const luaL_Reg iolib[] = {
** methods for file handles
*/
static const luaL_Reg flib[] = {
{"close", io_close},
{"close", f_close},
{"flush", f_flush},
{"lines", f_lines},
{"read", f_read},
Expand Down

0 comments on commit d266d40

Please sign in to comment.