From 1f1a5bfd9ab8dea0576899b4654d7ec093764796 Mon Sep 17 00:00:00 2001 From: David Renshaw Date: Sun, 11 May 2014 08:27:24 -0400 Subject: [PATCH] fix WirePointer.target() --- examples/AddressbookMain.java | 5 ++++- src/capnp/WireHelpers.java | 2 -- src/capnp/WirePointer.java | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/examples/AddressbookMain.java b/examples/AddressbookMain.java index 4798bb4..f4c735b 100644 --- a/examples/AddressbookMain.java +++ b/examples/AddressbookMain.java @@ -10,7 +10,10 @@ public class AddressbookMain { capnp.MessageReader message = capnp.InputStreamMessageReader.create(System.in); Addressbook.AddressBook.Reader addressbook = message.getRoot(Addressbook.AddressBook.Reader.factory); capnp.StructList.Reader people = addressbook.getPeople(); - System.out.println("there are " + people.size() + "people"); + int size = people.size(); + for(int ii = 0; ii < size; ++ii) { + people.get(ii); + } } public static void usage() { diff --git a/src/capnp/WireHelpers.java b/src/capnp/WireHelpers.java index 4cbf909..403fd2c 100644 --- a/src/capnp/WireHelpers.java +++ b/src/capnp/WireHelpers.java @@ -45,8 +45,6 @@ class WireHelpers { int size = tag.inlineCompositeListElementCount(); - System.out.println("size = " + size); - StructPointer structPtr = new StructPointer(tag); int wordsPerElement = structPtr.wordSize(); diff --git a/src/capnp/WirePointer.java b/src/capnp/WirePointer.java index 18f79fe..1a92b1b 100644 --- a/src/capnp/WirePointer.java +++ b/src/capnp/WirePointer.java @@ -22,7 +22,7 @@ class WirePointer { } public int offset_and_kind() { - return this.buffer.getInt(buffer_offset * 2); + return this.buffer.getInt(buffer_offset * 8); } public byte kind() { @@ -31,7 +31,7 @@ class WirePointer { public WordPointer target() { return new WordPointer(buffer, - 1 + (this.offset_and_kind() >> 2)); + this.buffer_offset + 1 + (this.offset_and_kind() >> 2)); } public int inlineCompositeListElementCount() {