diff options
author | Elliott Hughes <enh@google.com> | 2010-10-07 19:55:03 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2010-10-07 19:55:03 -0700 |
commit | 0df59ae1c7d720dc6263760a0802aded41793f90 (patch) | |
tree | 532120cc25b9376da8c9cb5f99268b69eb4cec8c | |
parent | 68dc77f11ac04a34b797d4af716f81505c2f6fa5 (diff) | |
download | libcore-0df59ae1c7d720dc6263760a0802aded41793f90.zip libcore-0df59ae1c7d720dc6263760a0802aded41793f90.tar.gz libcore-0df59ae1c7d720dc6263760a0802aded41793f90.tar.bz2 |
Fix getLong/getDouble for byte[]-backed nio Buffers.
A regression I introduced. Happily, the correct version doesn't sacrifice speed.
Bug: 3066167
Change-Id: Idef17012b8d84a05644ba161bfdc462a38cf3326
-rw-r--r-- | luni/src/main/java/java/nio/HeapByteBuffer.java | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/luni/src/main/java/java/nio/HeapByteBuffer.java b/luni/src/main/java/java/nio/HeapByteBuffer.java index 2118115..a01c9d8 100644 --- a/luni/src/main/java/java/nio/HeapByteBuffer.java +++ b/luni/src/main/java/java/nio/HeapByteBuffer.java @@ -242,7 +242,7 @@ abstract class HeapByteBuffer extends BaseByteBuffer { ((backingArray[baseOffset++] & 0xff) << 16) | ((backingArray[baseOffset++] & 0xff) << 8) | ((backingArray[baseOffset ] & 0xff) << 0); - return (((long) h) << 32) | l; + return (((long) h) << 32L) | ((long) l) & 0xffffffffL; } else { int l = ((backingArray[baseOffset++] & 0xff) << 0) | ((backingArray[baseOffset++] & 0xff) << 8) | @@ -252,7 +252,7 @@ abstract class HeapByteBuffer extends BaseByteBuffer { ((backingArray[baseOffset++] & 0xff) << 8) | ((backingArray[baseOffset++] & 0xff) << 16) | ((backingArray[baseOffset ] & 0xff) << 24); - return (((long) h) << 32) | l; + return (((long) h) << 32L) | ((long) l) & 0xffffffffL; } } |