Author: jbellis
Date: Tue Feb 1 17:45:42 2011
New Revision: 1066099
URL: http://svn.apache.org/viewvc?rev=1066099&view=rev
Log:
replace isDirect with !hasArray for correctness
Modified:
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/ByteBufferUtil.java
Modified:
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/ByteBufferUtil.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/ByteBufferUtil.java?rev=1066099&r1=1066098&r2=1066099&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/ByteBufferUtil.java
(original)
+++
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/ByteBufferUtil.java
Tue Feb 1 17:45:42 2011
@@ -209,17 +209,15 @@ public class ByteBufferUtil
ByteBuffer clone = ByteBuffer.allocate(o.remaining());
- if (o.isDirect())
+ if (o.hasArray())
{
- for (int i = o.position(); i < o.limit(); i++)
- {
- clone.put(o.get(i));
- }
- clone.flip();
+ System.arraycopy(o.array(), o.arrayOffset() + o.position(),
clone.array(), 0, o.remaining());
}
else
{
- System.arraycopy(o.array(), o.arrayOffset() + o.position(),
clone.array(), 0, o.remaining());
+ for (int i = o.position(); i < o.limit(); i++)
+ clone.put(o.get(i));
+ clone.flip();
}
return clone;