public override void Write(byte[] buffer, int offset, int count) { sbyte[] sbuffer = new sbyte[buffer.Length]; Extensions.Copy(buffer, sbuffer); this.ost.Write(sbuffer, offset, count); position += count; }
public virtual int Read(sbyte[] b, int off, int len) { if (Wrapped is WrappedSystemStream) { return(((WrappedSystemStream)Wrapped).InputStream.Read(b, off, len)); } if (Wrapped != null) { byte[] buffer = new byte[b.Length]; int num = Wrapped.Read(buffer, off, len); if (num > 0) { Extensions.Copy(buffer, b); } return((num <= 0) ? -1 : num); } int totalRead = 0; while (totalRead < len) { int nr = Read(); if (nr == -1) { return(-1); } b[off + totalRead] = (sbyte)nr; totalRead++; } return(totalRead); }
public override int Read(byte[] buffer, int offset, int count) { sbyte[] sbuffer = new sbyte[buffer.Length]; int res = this.ist.Read(sbuffer, offset, count); Extensions.Copy(sbuffer, buffer); if (res != -1) { position += res; return(res); } else { return(0); } }
public int Read(sbyte[] sbuffer) { if (sbuffer.Length == 0) { return(0); } byte[] buffer = new byte[sbuffer.Length]; int r = stream.Read(buffer, 0, buffer.Length); if (r > 0) { Extensions.Copy(buffer, sbuffer); return(r); } return(-1); }