Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ IsPreamble()

bool System.IO.StreamReader.IsPreamble ( )
inlineprivateinherited

Definition at line 504 of file StreamReader.cs.

505 {
506 if (!_checkPreamble)
507 {
508 return _checkPreamble;
509 }
510 ReadOnlySpan<byte> preamble = _encoding.Preamble;
511 int num = ((_byteLen >= preamble.Length) ? (preamble.Length - _bytePos) : (_byteLen - _bytePos));
512 int num2 = 0;
513 while (num2 < num)
514 {
515 if (_byteBuffer[_bytePos] != preamble[_bytePos])
516 {
517 _bytePos = 0;
518 _checkPreamble = false;
519 break;
520 }
521 num2++;
522 _bytePos++;
523 }
524 if (_checkPreamble && _bytePos == preamble.Length)
525 {
526 CompressBuffer(preamble.Length);
527 _bytePos = 0;
528 _checkPreamble = false;
529 _detectEncoding = false;
530 }
531 return _checkPreamble;
532 }
readonly byte[] _byteBuffer
virtual ReadOnlySpan< byte > Preamble
Definition Encoding.cs:347

References System.IO.StreamReader._byteBuffer, System.IO.StreamReader._byteLen, System.IO.StreamReader._bytePos, System.IO.StreamReader._checkPreamble, System.IO.StreamReader._detectEncoding, System.IO.StreamReader._encoding, System.IO.StreamReader.CompressBuffer(), System.ReadOnlySpan< T >.Length, and System.Text.Encoding.Preamble.

Referenced by System.IO.StreamReader.ReadAsyncInternal(), System.IO.StreamReader.ReadBuffer(), System.IO.StreamReader.ReadBuffer(), and System.IO.StreamReader.ReadBufferAsync().