lua

A copy of the Lua development repository
Log | Files | Refs | README

commit 19290a8e92a9b22f448b82c2bcb67ea635dee6ad
parent d845963349dbf5956cb527f3416af0bd1894d8f7
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date:   Fri, 26 Jan 1996 14:52:27 -0200

"dofile" issues an error when called with non string arguments, and
runs stdin when called without arguments.

Diffstat:
Minout.c | 10++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

diff --git 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 <stdio.h> #include <stdlib.h> @@ -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();