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


Reply via email to