From 19290a8e92a9b22f448b82c2bcb67ea635dee6ad Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Fri, 26 Jan 1996 14:52:47 -0200 Subject: [PATCH] "dofile" issues an error when called with non string arguments, and runs stdin when called without arguments. --- inout.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/inout.c b/inout.c index 23d69158..d76bff8c 100644 --- a/inout.c +++ b/inout.c @@ -5,7 +5,7 @@ ** Also provides some predefined lua functions. */ -char *rcs_inout="$Id: inout.c,v 2.26 1996/01/22 17:40:00 roberto Exp roberto $"; +char *rcs_inout="$Id: inout.c,v 2.27 1996/01/26 14:05:28 roberto Exp roberto $"; #include #include @@ -122,7 +122,13 @@ void lua_internaldostring (void) void lua_internaldofile (void) { lua_Object obj = lua_getparam (1); - if (lua_isstring(obj) && !lua_dofile(lua_getstring(obj))) + char *fname = NULL; + if (lua_isstring(obj)) + fname = lua_getstring(obj); + else if (obj != LUA_NOOBJECT) + lua_error("invalid argument to function `dofile'"); + /* else fname = NULL */ + if (!lua_dofile(fname)) lua_pushnumber(1); else lua_pushnil();