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

◆ TryWriteBytes()

int System.Reflection.Metadata.BlobBuilder.TryWriteBytes ( Stream source,
int byteCount )
inlineinherited

Definition at line 582 of file BlobBuilder.cs.

583 {
584 if (source == null)
585 {
586 throw new ArgumentNullException("source");
587 }
588 if (byteCount < 0)
589 {
590 throw new ArgumentOutOfRangeException("byteCount");
591 }
592 if (byteCount == 0)
593 {
594 return 0;
595 }
596 int num = 0;
597 int num2 = Math.Min(FreeBytes, byteCount);
598 if (num2 > 0)
599 {
600 num = source.TryReadAll(_buffer, Length, num2);
601 AddLength(num);
602 if (num != num2)
603 {
604 return num;
605 }
606 }
607 int num3 = byteCount - num2;
608 if (num3 > 0)
609 {
610 Expand(num3);
611 num = source.TryReadAll(_buffer, 0, num3);
612 AddLength(num);
613 num += num2;
614 }
615 return num;
616 }

References System.Reflection.Metadata.BlobBuilder._buffer, System.Reflection.Metadata.BlobBuilder.AddLength(), System.byteCount, System.Reflection.Metadata.BlobBuilder.Expand(), System.Reflection.Metadata.BlobBuilder.FreeBytes, System.Reflection.Metadata.BlobBuilder.Length, System.Math.Min(), and System.source.