diff --git a/briar-core/src/org/briarproject/data/ReaderImpl.java b/briar-core/src/org/briarproject/data/ReaderImpl.java index aadeb448c4bc454c6d49bf0431a95b41b738a815..420ff25ed98572aa6f797ddee4a5e6b82cabdb45 100644 --- a/briar-core/src/org/briarproject/data/ReaderImpl.java +++ b/briar-core/src/org/briarproject/data/ReaderImpl.java @@ -1,6 +1,7 @@ package org.briarproject.data; import static org.briarproject.data.Types.END; +import static org.briarproject.data.Types.FALSE; import static org.briarproject.data.Types.FLOAT_64; import static org.briarproject.data.Types.INT_16; import static org.briarproject.data.Types.INT_32; @@ -15,6 +16,7 @@ import static org.briarproject.data.Types.RAW_8; import static org.briarproject.data.Types.STRING_16; import static org.briarproject.data.Types.STRING_32; import static org.briarproject.data.Types.STRING_8; +import static org.briarproject.data.Types.TRUE; import java.io.IOException; import java.io.InputStream; @@ -133,24 +135,18 @@ class ReaderImpl implements Reader { public boolean hasBoolean() throws IOException { if(!hasLookahead) readLookahead(); if(eof) return false; - return next == Types.BOOLEAN; + return next == FALSE || next == TRUE; } public boolean readBoolean() throws IOException { if(!hasBoolean()) throw new FormatException(); + boolean bool = next == TRUE; consumeLookahead(); - return readBoolean(true); - } - - private boolean readBoolean(boolean consume) throws IOException { - readIntoBuffer(1, consume); - if(buf[0] != 0 && buf[0] != 1) throw new FormatException(); - return buf[0] == 1; + return bool; } public void skipBoolean() throws IOException { if(!hasBoolean()) throw new FormatException(); - skip(1); hasLookahead = false; } diff --git a/briar-core/src/org/briarproject/data/Types.java b/briar-core/src/org/briarproject/data/Types.java index ae64f4967388b5efde12d16d93d41edcc97b7087..5f5dbc5c9ffd09dfe403090fd50297a85a590d08 100644 --- a/briar-core/src/org/briarproject/data/Types.java +++ b/briar-core/src/org/briarproject/data/Types.java @@ -3,7 +3,8 @@ package org.briarproject.data; interface Types { byte NULL = 0x00; - byte BOOLEAN = 0x11; + byte FALSE = 0x10; + byte TRUE = 0x11; byte INT_8 = 0x21; byte INT_16 = 0x22; byte INT_32 = 0x24; diff --git a/briar-core/src/org/briarproject/data/WriterImpl.java b/briar-core/src/org/briarproject/data/WriterImpl.java index cd0d833f6df03af1ff0adf3055a7bf7a1879d504..e178bff9dd1d2a4157a4b4df9d58121f02b79efb 100644 --- a/briar-core/src/org/briarproject/data/WriterImpl.java +++ b/briar-core/src/org/briarproject/data/WriterImpl.java @@ -1,7 +1,7 @@ package org.briarproject.data; -import static org.briarproject.data.Types.BOOLEAN; import static org.briarproject.data.Types.END; +import static org.briarproject.data.Types.FALSE; import static org.briarproject.data.Types.FLOAT_64; import static org.briarproject.data.Types.INT_16; import static org.briarproject.data.Types.INT_32; @@ -16,6 +16,7 @@ import static org.briarproject.data.Types.RAW_8; import static org.briarproject.data.Types.STRING_16; import static org.briarproject.data.Types.STRING_32; import static org.briarproject.data.Types.STRING_8; +import static org.briarproject.data.Types.TRUE; import java.io.IOException; import java.io.OutputStream; @@ -60,9 +61,8 @@ class WriterImpl implements Writer { } public void writeBoolean(boolean b) throws IOException { - write(BOOLEAN); - if(b) write((byte) 1); - else write((byte) 0); + if(b) write(TRUE); + else write(FALSE); } public void writeInteger(long i) throws IOException { @@ -139,9 +139,9 @@ class WriterImpl implements Writer { } public void writeList(Collection<?> c) throws IOException { - write(Types.LIST); + write(LIST); for(Object o : c) writeObject(o); - write(Types.END); + write(END); } private void writeObject(Object o) throws IOException { diff --git a/briar-tests/src/org/briarproject/data/ReaderImplTest.java b/briar-tests/src/org/briarproject/data/ReaderImplTest.java index 4fcd88949f390b6f44d38ce97524fc24f52b6825..1b14d3c17ebc2a5f674c68a3743666b832241526 100644 --- a/briar-tests/src/org/briarproject/data/ReaderImplTest.java +++ b/briar-tests/src/org/briarproject/data/ReaderImplTest.java @@ -37,7 +37,7 @@ public class ReaderImplTest extends BriarTestCase { @Test public void testReadBoolean() throws Exception { - setContents("11" + "00" + "11" + "01"); + setContents("10" + "11"); assertFalse(r.readBoolean()); assertTrue(r.readBoolean()); assertTrue(r.eof()); @@ -45,7 +45,7 @@ public class ReaderImplTest extends BriarTestCase { @Test public void testSkipBoolean() throws Exception { - setContents("11" + "00" + "11" + "01"); + setContents("10" + "11"); r.skipBoolean(); r.skipBoolean(); assertTrue(r.eof()); diff --git a/briar-tests/src/org/briarproject/data/WriterImplTest.java b/briar-tests/src/org/briarproject/data/WriterImplTest.java index 3b3be5f491e07f9f6bb1b8955d305a80d23daee7..05cf0875a4b837c75ec5143f02b07cf474ef9ac4 100644 --- a/briar-tests/src/org/briarproject/data/WriterImplTest.java +++ b/briar-tests/src/org/briarproject/data/WriterImplTest.java @@ -36,8 +36,8 @@ public class WriterImplTest extends BriarTestCase { public void testWriteBoolean() throws IOException { w.writeBoolean(true); w.writeBoolean(false); - // BOOLEAN tag, 1, BOOLEAN tag, 0 - checkContents("11" + "01" + "11" + "00"); + // TRUE tag, FALSE tag + checkContents("11" + "10"); } @Test