1 files changed, 15 insertions, 10 deletions
diff --git a/crypto/src/util/io/TeeInputStream.cs b/crypto/src/util/io/TeeInputStream.cs
index 73ea8fed0..3d45bb4f1 100644
--- a/crypto/src/util/io/TeeInputStream.cs
+++ b/crypto/src/util/io/TeeInputStream.cs
@@ -18,7 +18,6 @@ namespace Org.BouncyCastle.Utilities.IO
this.tee = tee;
}
-#if PORTABLE
protected override void Dispose(bool disposing)
{
if (disposing)
@@ -28,14 +27,6 @@ namespace Org.BouncyCastle.Utilities.IO
}
base.Dispose(disposing);
}
-#else
- public override void Close()
- {
- Platform.Dispose(input);
- Platform.Dispose(tee);
- base.Close();
- }
-#endif
public override int Read(byte[] buffer, int offset, int count)
{
@@ -49,7 +40,21 @@ namespace Org.BouncyCastle.Utilities.IO
return i;
}
- public override int ReadByte()
+#if NETCOREAPP2_1_OR_GREATER || NETSTANDARD2_1_OR_GREATER
+ public override int Read(Span<byte> buffer)
+ {
+ int i = input.Read(buffer);
+
+ if (i > 0)
+ {
+ tee.Write(buffer[..i]);
+ }
+
+ return i;
+ }
+#endif
+
+ public override int ReadByte()
{
int i = input.ReadByte();
|