From 38bdb36b239fbeb7e6e38adeacd83c8cfb7caa9b Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Tue, 9 Jul 2019 23:34:01 +0200 Subject: HDB: Finish implementation of Lua dofile() --- engines/hdb/lua-script.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'engines') diff --git a/engines/hdb/lua-script.cpp b/engines/hdb/lua-script.cpp index 7a33355710..b563de3d0e 100644 --- a/engines/hdb/lua-script.cpp +++ b/engines/hdb/lua-script.cpp @@ -1256,8 +1256,21 @@ static int dofile(lua_State *L) { if (!in) error("Lua dofile: cannot open file '%s'", fName); + int length = in->size(); + char *chunk = new char[length + 1]; + in->read((void *)chunk, length); + + chunk[length] = '\0'; // be on the safe side + + Common::String chunkString(chunk); + delete[] chunk; + delete in; + if (!g_hdb->_lua->executeChunk(chunkString, fName)) { + return 0; + } + return 0; } -- cgit v1.2.3