[freenet-cvs] r13770 - in trunk/freenet: src/freenet/support test/freenet/support

nextgens at freenetproject.org nextgens at freenetproject.org
Wed Jun 27 00:06:51 UTC 2007


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));
 	}
 }




More information about the cvs mailing list