aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorMax Horn2011-05-23 19:20:56 +0200
committerMax Horn2011-05-23 19:39:26 +0200
commit6c5f50c246062bcb50a20efe7951be7e23449ca0 (patch)
tree9d8bb0bbb869fac5ba1387d90894fee50c8325ea /engines
parent20cad6e8b6fe9ae843245697e872256c4ca1e545 (diff)
downloadscummvm-rg350-6c5f50c246062bcb50a20efe7951be7e23449ca0.tar.gz
scummvm-rg350-6c5f50c246062bcb50a20efe7951be7e23449ca0.tar.bz2
scummvm-rg350-6c5f50c246062bcb50a20efe7951be7e23449ca0.zip
COMMON: Add exit() to list of forbidden symbols
Diffstat (limited to 'engines')
-rw-r--r--engines/agi/loader_v2.cpp4
-rw-r--r--engines/sci/console.cpp2
-rw-r--r--engines/sword25/util/lua/ldo.cpp4
-rw-r--r--engines/sword25/util/lua/loslib.cpp8
4 files changed, 10 insertions, 8 deletions
diff --git a/engines/agi/loader_v2.cpp b/engines/agi/loader_v2.cpp
index f5f8830b43..a2ac6f0111 100644
--- a/engines/agi/loader_v2.cpp
+++ b/engines/agi/loader_v2.cpp
@@ -149,11 +149,11 @@ uint8 *AgiLoader_v2::loadVolRes(struct AgiDir *agid) {
fp.read(&x, 5);
if ((sig = READ_BE_UINT16((uint8 *) x)) == 0x1234) {
agid->len = READ_LE_UINT16((uint8 *) x + 3);
- data = (uint8 *) calloc(1, agid->len + 32);
+ data = (uint8 *)calloc(1, agid->len + 32);
if (data != NULL) {
fp.read(data, agid->len);
} else {
- exit(1);
+ error("AgiLoader_v2::loadVolRes out of memory");
}
} else {
warning("AgiLoader_v2::loadVolRes: bad signature %04x", sig);
diff --git a/engines/sci/console.cpp b/engines/sci/console.cpp
index 5f5af195b5..e6b5c3c1d4 100644
--- a/engines/sci/console.cpp
+++ b/engines/sci/console.cpp
@@ -3372,7 +3372,7 @@ bool Console::cmdQuit(int argc, const char **argv) {
} else if (!scumm_stricmp(argv[1], "now")) {
// Quit ungracefully
- exit(0);
+ g_system->quit();
}
return Cmd_Exit(0, 0);
diff --git a/engines/sword25/util/lua/ldo.cpp b/engines/sword25/util/lua/ldo.cpp
index b03992385a..b699c5d8a7 100644
--- a/engines/sword25/util/lua/ldo.cpp
+++ b/engines/sword25/util/lua/ldo.cpp
@@ -13,6 +13,8 @@
#define FORBIDDEN_SYMBOL_EXCEPTION_setjmp
#define FORBIDDEN_SYMBOL_EXCEPTION_longjmp
+#include "common/textconsole.h"
+
#include <setjmp.h>
#include <stdlib.h>
#include <string.h>
@@ -116,7 +118,7 @@ void luaD_throw (lua_State *L, int errcode) {
lua_unlock(L);
G(L)->panic(L);
}
- exit(EXIT_FAILURE);
+ error("luaD_throw failure");
}
}
diff --git a/engines/sword25/util/lua/loslib.cpp b/engines/sword25/util/lua/loslib.cpp
index c46aea59bd..b61f8c65e1 100644
--- a/engines/sword25/util/lua/loslib.cpp
+++ b/engines/sword25/util/lua/loslib.cpp
@@ -18,6 +18,7 @@
#include "lualib.h"
#include "common/system.h"
+#include "common/textconsole.h"
static int os_execute (lua_State *L) {
@@ -214,10 +215,9 @@ static int os_exit (lua_State *L) {
// Using OSystem::quit() isn't really a great idea, either.
// We really would prefer to let the main run loop exit, so that
// our main() can perform cleanup.
- g_system->quit();
- // leave the exit call in there for now, in case some of our
- // OSystem::quit applications are incorrect... *sigh*
- exit(luaL_optint(L, 1, EXIT_SUCCESS));
+ if (0 == luaL_optint(L, 1, EXIT_SUCCESS))
+ g_system->quit();
+ error("LUA os_exit invokes with non-zero exit value");
}
static const luaL_Reg syslib[] = {