You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by el...@apache.org on 2012/08/17 13:32:43 UTC
svn commit: r1374201 -
/labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/BufferHandler.java
Author: elecharny
Date: Fri Aug 17 11:32:42 2012
New Revision: 1374201
URL: http://svn.apache.org/viewvc?rev=1374201&view=rev
Log:
Fixed a bug in the way we handle cross-boundary buffer read of values
Modified:
labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/BufferHandler.java
Modified: labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/BufferHandler.java
URL: http://svn.apache.org/viewvc/labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/BufferHandler.java?rev=1374201&r1=1374200&r2=1374201&view=diff
==============================================================================
--- labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/BufferHandler.java (original)
+++ labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/BufferHandler.java Fri Aug 17 11:32:42 2012
@@ -96,8 +96,18 @@ public class BufferHandler
while ( requested != 0 )
{
- int nbRead = buffer.limit() - buffer.position();
- System.arraycopy( buffer.array(), buffer.position(), result, position, nbRead );
+ int nbRemainingRead = buffer.limit() - buffer.position();
+
+ if ( nbRemainingRead > requested )
+ {
+ buffer.get( result, position, requested );
+ break;
+ }
+ else
+ {
+ System.arraycopy( buffer.array(), buffer.position(), result, position, nbRemainingRead );
+ position += nbRemainingRead;
+ }
buffer.clear();
@@ -116,7 +126,7 @@ public class BufferHandler
throw new IOException( "Not enough bytes in the buffer" );
}
- requested -= nbRead;
+ requested -= nbRemainingRead;
}
return result;
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org