aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ProtocolBuffers/CodedInputStream.cs15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/ProtocolBuffers/CodedInputStream.cs b/src/ProtocolBuffers/CodedInputStream.cs
index a929df23..3306f309 100644
--- a/src/ProtocolBuffers/CodedInputStream.cs
+++ b/src/ProtocolBuffers/CodedInputStream.cs
@@ -105,12 +105,21 @@ namespace Google.ProtocolBuffers {
/// byte array.
/// </summary>
public static CodedInputStream CreateInstance(byte[] buf) {
- return new CodedInputStream(buf);
+ return new CodedInputStream(buf, 0, buf.Length);
}
- private CodedInputStream(byte[] buffer) {
+ /// <summary>
+ /// Creates a new CodedInputStream that reads from the given
+ /// byte array slice.
+ /// </summary>
+ public static CodedInputStream CreateInstance(byte[] buf, int offset, int length) {
+ return new CodedInputStream(buf, offset, length);
+ }
+
+ private CodedInputStream(byte[] buffer, int offset, int length) {
this.buffer = buffer;
- this.bufferSize = buffer.Length;
+ this.bufferPos = offset;
+ this.bufferSize = offset + length;
this.input = null;
}