aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/director/lingo/lingo-code.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index dd5977673e..c9f9c14e84 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -895,9 +895,10 @@ void Lingo::call(Common::String name, int nargs) {
return;
}
- if (sym->nargs != -1 && sym->nargs < nargs) {
- warning("Incorrect number of arguments for function %s. Dropping extra %d", name.c_str(), nargs - sym->nargs);
- for (int i = 0; i < nargs - sym->nargs; i++)
+ if (sym->nargs != -1 && sym->maxArgs < nargs) {
+ warning("Incorrect number of arguments for function %s (%d, expected %d to %d). Dropping extra %d",
+ name.c_str(), nargs, sym->nargs, sym->maxArgs, nargs - sym->nargs);
+ for (int i = 0; i < nargs - sym->maxArgs; i++)
g_lingo->pop();
}