From 3a4b22c6b16b10d2e7827a3c5fbc196eb34b16d8 Mon Sep 17 00:00:00 2001 From: disarray2077 <86157825+disarray2077@users.noreply.github.com> Date: Thu, 4 May 2023 23:57:58 -0300 Subject: [PATCH 1/2] Fix ReadBuffer --- BeefLibs/corlib/src/IO/StreamReader.bf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/BeefLibs/corlib/src/IO/StreamReader.bf b/BeefLibs/corlib/src/IO/StreamReader.bf index a06e38f7..c3a5a4b9 100644 --- a/BeefLibs/corlib/src/IO/StreamReader.bf +++ b/BeefLibs/corlib/src/IO/StreamReader.bf @@ -441,7 +441,7 @@ namespace System.IO bytePos = byteLen = 0;*/ } - return mCharLen; + return mCharLen - mCharPos; } mByteLen += len; @@ -461,7 +461,7 @@ namespace System.IO //Contract.Assert(byteLen >= 0, "Stream.Read returned a negative number! This is a bug in your stream class."); if (mByteLen == 0) // We're at EOF - return mCharLen; + return mCharLen - mCharPos; } // _isBlocked == whether we read fewer bytes than we asked for. @@ -510,7 +510,7 @@ namespace System.IO while (mCharLen == mCharPos); //Console.WriteLine("ReadBuffer called. chars: "+char8Len); - return mCharLen; + return mCharLen - mCharPos; } int GetChars(uint8[] byteBuffer, int byteOffset, int byteLength, char8[] char8Buffer, int char8Offset) From f070c3e0d2092c703859879533a8755933748449 Mon Sep 17 00:00:00 2001 From: disarray2077 <86157825+disarray2077@users.noreply.github.com> Date: Fri, 5 May 2023 00:12:49 -0300 Subject: [PATCH 2/2] Fix PendingNewlineCheck --- BeefLibs/corlib/src/IO/StreamReader.bf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BeefLibs/corlib/src/IO/StreamReader.bf b/BeefLibs/corlib/src/IO/StreamReader.bf index c3a5a4b9..2169a201 100644 --- a/BeefLibs/corlib/src/IO/StreamReader.bf +++ b/BeefLibs/corlib/src/IO/StreamReader.bf @@ -501,9 +501,9 @@ namespace System.IO } } - if ((mPendingNewlineCheck) && (mCharPos < mCharLen)) + if (mPendingNewlineCheck) { - if (mCharBuffer[mCharPos] == '\n') mCharPos++; + if (mCharPos == 0 && mCharBuffer[mCharPos] == '\n') mCharPos++; mPendingNewlineCheck = false; } }