diff --git a/src/capnp/InputStreamMessageReader.java b/src/capnp/InputStreamMessageReader.java index 4f7019b..56efbe9 100644 --- a/src/capnp/InputStreamMessageReader.java +++ b/src/capnp/InputStreamMessageReader.java @@ -64,10 +64,13 @@ public class InputStreamMessageReader { ByteBuffer[] segmentSlices = new ByteBuffer[segmentCount]; segmentSlices[0] = ByteBuffer.wrap(allSegments, 0, segment0Size); + segmentSlices[0].order(ByteOrder.LITTLE_ENDIAN); + int offset = segment0Size; for (int ii = 1; ii < segmentCount; ++ii) { segmentSlices[ii] = ByteBuffer.wrap(allSegments, offset, moreSizes.get(ii - 1)); + segmentSlices[ii].order(ByteOrder.LITTLE_ENDIAN); offset += moreSizes.get(ii - 1); } diff --git a/src/capnp/StructReader.java b/src/capnp/StructReader.java index b9c541c..1c685e1 100644 --- a/src/capnp/StructReader.java +++ b/src/capnp/StructReader.java @@ -66,7 +66,6 @@ public class StructReader { this.pointers + ptrIndex, this.nestingLimit); } else { - System.out.println("pointer count: " + this.pointerCount); return new PointerReader(); } } diff --git a/src/capnp/WireHelpers.java b/src/capnp/WireHelpers.java index e035dd8..4cbf909 100644 --- a/src/capnp/WireHelpers.java +++ b/src/capnp/WireHelpers.java @@ -14,7 +14,7 @@ class WireHelpers { return new StructReader(segment, ptr.offset * 8, - (ptr.offset + dataSizeWords) * 8, + (ptr.offset + dataSizeWords), dataSizeWords * 64, structPtr.ptrCount(), (byte)0, @@ -44,6 +44,9 @@ class WireHelpers { // TODO bounds check int size = tag.inlineCompositeListElementCount(); + + System.out.println("size = " + size); + StructPointer structPtr = new StructPointer(tag); int wordsPerElement = structPtr.wordSize();