diff options
author | Simei Yin | 2018-05-31 22:55:36 +0200 |
---|---|---|
committer | Simei Yin | 2018-05-31 23:15:09 +0200 |
commit | ca583ebfcfc420d0b303256a9a088bb2327ea907 (patch) | |
tree | ddf0074373f86a9662386edb7bfbdd7c73ebd152 /engines/sludge/builtin.cpp | |
parent | 9fb57f944d1105c084b4cf54e037a66b9eb34740 (diff) | |
download | scummvm-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.cpp | 6 |
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); |