You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2011/02/10 00:10:29 UTC
svn commit: r1069165 -
/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/ByteBufferUtil.java
Author: jbellis
Date: Wed Feb 9 23:10:29 2011
New Revision: 1069165
URL: http://svn.apache.org/viewvc?rev=1069165&view=rev
Log:
BBU.lastIndexOf should iterate down to position(), not 0
patch by jbellis
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=1069165&r1=1069164&r2=1069165&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 Wed Feb 9 23:10:29 2011
@@ -153,22 +153,19 @@ public class ByteBufferUtil
}
/**
- * ByteBuffer adoption of org.apache.commons.lang.ArrayUtils.lastIndexOf method
+ * ByteBuffer adaptation of org.apache.commons.lang.ArrayUtils.lastIndexOf method
*
* @param buffer the array to traverse for looking for the object, may be <code>null</code>
* @param valueToFind the value to find
* @param startIndex the start index to travers backwards from
- * @return the last index of the value within the array,
- * <code>-1</code> if not found or <code>null</code> array input
+ * @return the last index of the value within the array, relative to buffer's arrayOffset
+ * [that is, between buffer.position() and buffer.limit()]; <code>-1</code> if not found.
*/
public static int lastIndexOf(ByteBuffer buffer, byte valueToFind, int startIndex)
{
- if (buffer == null)
- {
- return -1;
- }
+ assert buffer != null;
- if (startIndex < 0)
+ if (startIndex < buffer.position())
{
return -1;
}
@@ -177,12 +174,10 @@ public class ByteBufferUtil
startIndex = buffer.limit() - 1;
}
- for (int i = startIndex; i >= 0; i--)
+ for (int i = startIndex; i >= buffer.position(); i--)
{
if (valueToFind == buffer.get(i))
- {
return i;
- }
}
return -1;