aboutsummaryrefslogtreecommitdiff
path: root/engines/sludge/builtin.cpp
diff options
context:
space:
mode:
authorSimei Yin2018-05-31 22:55:36 +0200
committerSimei Yin2018-05-31 23:15:09 +0200
commitca583ebfcfc420d0b303256a9a088bb2327ea907 (patch)
treeddf0074373f86a9662386edb7bfbdd7c73ebd152 /engines/sludge/builtin.cpp
parent9fb57f944d1105c084b4cf54e037a66b9eb34740 (diff)
downloadscummvm-rg350-ca583ebfcfc420d0b303256a9a088bb2327ea907.tar.gz
scummvm-rg350-ca583ebfcfc420d0b303256a9a088bb2327ea907.tar.bz2
scummvm-rg350-ca583ebfcfc420d0b303256a9a088bb2327ea907.zip
SLUDGE: Move last stack finding function to struct VariableStack
Diffstat (limited to 'engines/sludge/builtin.cpp')
-rw-r--r--engines/sludge/builtin.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/engines/sludge/builtin.cpp b/engines/sludge/builtin.cpp
index 61f1726ec0..bf7c4228d3 100644
--- a/engines/sludge/builtin.cpp
+++ b/engines/sludge/builtin.cpp
@@ -609,7 +609,8 @@ builtIn(deleteFromStack) {
fun->reg.setVariable(SVT_INT, deleteVarFromStack(fun->stack->thisVar, fun->stack->next->thisVar.varData.theStack->first, false));
// Horrible hacking because 'last' value might now be wrong!
- fun->stack->next->thisVar.varData.theStack->last = stackFindLast(fun->stack->next->thisVar.varData.theStack->first);
+ VariableStack *nextFirstStack = fun->stack->next->thisVar.varData.theStack->first;
+ fun->stack->next->thisVar.varData.theStack->last = (nextFirstStack == NULL) ? NULL : nextFirstStack->stackFindLast();
trimStack(fun->stack);
trimStack(fun->stack);
@@ -627,7 +628,8 @@ builtIn(deleteAllFromStack) {
fun->reg.setVariable(SVT_INT, deleteVarFromStack(fun->stack->thisVar, fun->stack->next->thisVar.varData.theStack->first, true));
// Horrible hacking because 'last' value might now be wrong!
- fun->stack->next->thisVar.varData.theStack->last = stackFindLast(fun->stack->next->thisVar.varData.theStack->first);
+ VariableStack *nextFirstStack = fun->stack->next->thisVar.varData.theStack->first;
+ fun->stack->next->thisVar.varData.theStack->last = (nextFirstStack == NULL) ? NULL : nextFirstStack->stackFindLast();
trimStack(fun->stack);
trimStack(fun->stack);