diff --git a/oscar64/InterCode.cpp b/oscar64/InterCode.cpp index 97b595c..a92b4fc 100644 --- a/oscar64/InterCode.cpp +++ b/oscar64/InterCode.cpp @@ -22913,7 +22913,7 @@ void InterCodeProcedure::Close(void) { GrowingTypeArray tstack(IT_NONE); - CheckFunc = !strcmp(mIdent->mString, "room_show"); + CheckFunc = !strcmp(mIdent->mString, "main"); CheckCase = false; mEntryBlock = mBlocks[0]; diff --git a/oscar64/Parser.cpp b/oscar64/Parser.cpp index 0fd1bc6..22fbb71 100644 --- a/oscar64/Parser.cpp +++ b/oscar64/Parser.cpp @@ -2347,12 +2347,15 @@ Expression* Parser::ParseConstInitExpression(Declaration* dtype, bool inner) last = cdec; } - if (!ConsumeTokenIf(TK_COMMA)) - break; - mdec = mdec->mNext; while (!mdec && path.Size()) mdec = path.Pop()->mParams; + + if (inner && !mdec) + break; + + if (!ConsumeTokenIf(TK_COMMA)) + break; } else if (inner) break;