[Scummvm-git-logs] scummvm master -> 742c0d5b6d85aa23accdf50d62466357f6e6479b

djsrv dservilla at gmail.com
Fri Jun 12 18:21:21 UTC 2020


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
742c0d5b6d DIRECTOR: LINGO: Fix reading files with '\r'


Commit: 742c0d5b6d85aa23accdf50d62466357f6e6479b
    https://github.com/scummvm/scummvm/commit/742c0d5b6d85aa23accdf50d62466357f6e6479b
Author: djsrv (dservilla at gmail.com)
Date: 2020-06-12T14:20:19-04:00

Commit Message:
DIRECTOR: LINGO: Fix reading files with '\r'

Changed paths:
    engines/director/lingo/xlibs/fileio.cpp
    engines/director/lingo/xlibs/fileio.h


diff --git a/engines/director/lingo/xlibs/fileio.cpp b/engines/director/lingo/xlibs/fileio.cpp
index 67db2ffa21..1c6854d341 100644
--- a/engines/director/lingo/xlibs/fileio.cpp
+++ b/engines/director/lingo/xlibs/fileio.cpp
@@ -250,6 +250,12 @@ void FileIO::m_readWord(int nargs) {
 	FileIO::m_readToken(2);
 }
 
+bool FileIO::charInMatchString(char ch, const Common::String &matchString) {
+	if (ch == '\r')
+		ch = '\n';
+	return matchString.contains(ch);
+}
+
 void FileIO::m_readToken(int nargs) {
 	FileObject *me = static_cast<FileObject *>(g_lingo->_currentMeObj);
 
@@ -272,9 +278,9 @@ void FileIO::m_readToken(int nargs) {
 			g_lingo->push(Datum(tok));
 			return;
 		}
-	} while (skipString.contains(ch));
+	} while (charInMatchString(ch, skipString));
 
-	while (!breakString.contains(ch)) {
+	while (!charInMatchString(ch, breakString)) {
 		tok += ch;
 		ch = me->inStream->readByte();
 
diff --git a/engines/director/lingo/xlibs/fileio.h b/engines/director/lingo/xlibs/fileio.h
index c4602323c9..5a93a3182d 100644
--- a/engines/director/lingo/xlibs/fileio.h
+++ b/engines/director/lingo/xlibs/fileio.h
@@ -75,6 +75,7 @@ struct FileObject : Object {
 };
 
 namespace FileIO {
+	bool charInMatchString(char ch, const Common::String &matchString);
 	void initialize(int type);
 	void saveFileError();
 	void m_delete(int nargs);




More information about the Scummvm-git-logs mailing list