[Mulgara-svn] r678 - branches/mgr-73/src/jar/util-xa/java/org/mulgara/store/xa

andrae at mulgara.org andrae at mulgara.org
Mon Mar 17 03:35:46 UTC 2008


Author: andrae
Date: 2008-03-16 20:35:45 -0700 (Sun, 16 Mar 2008)
New Revision: 678

Modified:
   branches/mgr-73/src/jar/util-xa/java/org/mulgara/store/xa/Block.java
Log:
refs #73
refs #85

svn merge -r 619:625 ../../trunk/ .

Revision 626 and 627 merged earlier by ronald.



Modified: branches/mgr-73/src/jar/util-xa/java/org/mulgara/store/xa/Block.java
===================================================================
--- branches/mgr-73/src/jar/util-xa/java/org/mulgara/store/xa/Block.java	2008-03-12 07:17:57 UTC (rev 677)
+++ branches/mgr-73/src/jar/util-xa/java/org/mulgara/store/xa/Block.java	2008-03-17 03:35:45 UTC (rev 678)
@@ -273,13 +273,13 @@
    * @param offset The location of the required buffer within the data block.
    * @param byteBuffer The buffer to fill.
    */
+  
   public void get(int offset, ByteBuffer byteBuffer) {
-    assert offset + byteBuffer.remaining() <= blockSize;
-
-    int start = byteOffset + offset;
-    while (byteBuffer.hasRemaining()) {
-      byteBuffer.put(bb.get(start++));
-    }
+	  ByteBuffer src = bb.asReadOnlyBuffer();
+	  int start = byteOffset + offset;
+	  src.position(start);
+	  src.limit(Math.min(start + byteBuffer.limit() - byteBuffer.position(), src.limit()));
+	  byteBuffer.put(src);
   }
 
   /**




More information about the Mulgara-svn mailing list