Author: nextgens
Date: 2007-06-27 00:06:51 +0000 (Wed, 27 Jun 2007)
New Revision: 13770
Modified:
trunk/freenet/src/freenet/support/HexUtil.java
trunk/freenet/test/freenet/support/HexUtilTest.java
Log:
Fix HexUtils, add some javadoc; thanks to sback for the heads up
Modified: trunk/freenet/src/freenet/support/HexUtil.java
===================================================================
--- trunk/freenet/src/freenet/support/HexUtil.java 2007-06-26 22:30:50 UTC
(rev 13769)
+++ trunk/freenet/src/freenet/support/HexUtil.java 2007-06-27 00:06:51 UTC
(rev 13770)
@@ -110,6 +110,9 @@
/**
* Pack the bits in ba into a byte[].
+ *
+ * @param ba : the BitSet
+ * @param size : How many bits shall be taken into account starting
from the MSB?
*/
public final static byte[] bitsToBytes(BitSet ba, int size) {
int bytesAlloc = countBytesForBits(size);
@@ -121,10 +124,10 @@
for(int j=0;j<8;j++) {
int idx = i*8+j;
boolean val =
- idx > size ? false :
+ idx > size - 1 ? false :
ba.get(idx);
s |= val ? (1<<j) : 0;
- if(sb != null) sb.append(val ? '1' : '0');
+ if(logDEBUG) sb.append(val ? '1' : '0');
}
if(s > 255) throw new IllegalStateException("WTF? s =
"+s);
b[i] = (byte)s;
Modified: trunk/freenet/test/freenet/support/HexUtilTest.java
===================================================================
--- trunk/freenet/test/freenet/support/HexUtilTest.java 2007-06-26 22:30:50 UTC
(rev 13769)
+++ trunk/freenet/test/freenet/support/HexUtilTest.java 2007-06-27 00:06:51 UTC
(rev 13770)
@@ -281,9 +281,9 @@
byte[] expectedByteArray = new byte[1];
byte[] outputArray = new byte[1];
BitSet methodBitSet = new BitSet(8);
- methodBitSet.flip(3);
- outputArray = HexUtil.bitsToBytes(methodBitSet,3); //TODO:
verify this strange method
- expectedByteArray[0] = (byte)8;
+ methodBitSet.flip(0);
+ outputArray = HexUtil.bitsToBytes(methodBitSet,2); //TODO:
verify this strange method
+ expectedByteArray[0] = (byte)1;
assertTrue(Arrays.equals(expectedByteArray,outputArray));
}
}