From 264a80d88ec88df68162222844971bfb2c27e6ff Mon Sep 17 00:00:00 2001 From: drmortalwombat <90205530+drmortalwombat@users.noreply.github.com> Date: Sat, 17 Feb 2024 17:43:24 +0100 Subject: [PATCH] Pausing petscii string options for #include and #embed --- oscar64/Scanner.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/oscar64/Scanner.cpp b/oscar64/Scanner.cpp index 419dc05..cb77039 100644 --- a/oscar64/Scanner.cpp +++ b/oscar64/Scanner.cpp @@ -581,7 +581,12 @@ void Scanner::NextPreToken(void) } else if (mToken == TK_PREP_INCLUDE) { + // Make sure include file names are not petsciid + uint64 op = mCompilerOptions; + mCompilerOptions &= ~COPT_PETSCII; NextRawToken(); + mCompilerOptions = op; + if (mToken == TK_STRING) { if (!mPreprocessor->OpenSource("Including", (const char *)mTokenString, true)) @@ -876,6 +881,10 @@ void Scanner::NextPreToken(void) SourceFileMode mode = SFM_BINARY; SourceFileDecoder decoder = SFD_NONE; + uint64 op = mCompilerOptions; + mCompilerOptions &= ~COPT_PETSCII; + NextRawToken(); + NextRawToken(); if (mToken == TK_INTEGER) { @@ -933,6 +942,8 @@ void Scanner::NextPreToken(void) if (!mPreprocessor->EmbedData("Embedding", (const char*)mTokenString, false, skip, limit, mode, decoder)) mErrors->Error(mLocation, EERR_FILE_NOT_FOUND, "Could not open source file", (const char*)mTokenString); } + + mCompilerOptions = op; } else if (mToken == TK_IDENT) {