aboutsummaryrefslogtreecommitdiff
path: root/engines/director/lingo/lingo-lex.l
diff options
context:
space:
mode:
authorEugene Sandulenko2017-02-12 11:30:59 +0100
committerEugene Sandulenko2017-02-12 11:32:05 +0100
commita243a479aef65fe184519803100477ac1f3626bf (patch)
tree37bdfeb2b4a62681ab3d43879361e2842a59d671 /engines/director/lingo/lingo-lex.l
parente76fec67a13ccc433de6eb41e45649e68a2865cc (diff)
downloadscummvm-rg350-a243a479aef65fe184519803100477ac1f3626bf.tar.gz
scummvm-rg350-a243a479aef65fe184519803100477ac1f3626bf.tar.bz2
scummvm-rg350-a243a479aef65fe184519803100477ac1f3626bf.zip
DIRECTOR: Lingo: Added grammar for assignment to references
Diffstat (limited to 'engines/director/lingo/lingo-lex.l')
-rw-r--r--engines/director/lingo/lingo-lex.l8
1 files changed, 7 insertions, 1 deletions
diff --git a/engines/director/lingo/lingo-lex.l b/engines/director/lingo/lingo-lex.l
index b69e3d0328..0f6dd5894f 100644
--- a/engines/director/lingo/lingo-lex.l
+++ b/engines/director/lingo/lingo-lex.l
@@ -281,7 +281,13 @@ whitespace [\t ]
if (g_lingo->_builtins.contains(yytext)) {
int type = g_lingo->_builtins[yytext]->type;
- if ((type == BLTIN || type == FBLTIN) && g_lingo->_builtins[yytext]->parens == false) {
+ if ((type == BLTIN || type == FBLTIN || type == RBLTIN) && g_lingo->_builtins[yytext]->parens == false) {
+ if (type == RBLTIN) {
+ if (g_lingo->_builtins[yytext]->nargs != 1 || g_lingo->_builtins[yytext]->maxArgs != 1)
+ error("Incorrectly set RBLTIN %s", yytext);
+
+ return RBLTINONEARG;
+ }
if (g_lingo->_builtins[yytext]->nargs == 0) {
if (g_lingo->_builtins[yytext]->maxArgs == 0)
return type == BLTIN ? BLTINNOARGS : FBLTINNOARGS;