From e9c67dbb9c8ef3bbb98d74b664fb47b8f485bd6f Mon Sep 17 00:00:00 2001 From: "JesusFreke@JesusFreke.com" Date: Tue, 25 Aug 2009 01:16:26 +0000 Subject: [PATCH] use unsigned shift while writing an unsigned leb128 git-svn-id: https://smali.googlecode.com/svn/trunk@416 55b6fa8a-2a1e-11de-a435-ffa8d773f76a --- dexlib/src/main/java/org/jf/dexlib/Util/ByteArrayOutput.java | 4 ++-- dexlib/src/main/java/org/jf/dexlib/Util/Leb128Utils.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dexlib/src/main/java/org/jf/dexlib/Util/ByteArrayOutput.java b/dexlib/src/main/java/org/jf/dexlib/Util/ByteArrayOutput.java index e286beb6..8111f2d6 100644 --- a/dexlib/src/main/java/org/jf/dexlib/Util/ByteArrayOutput.java +++ b/dexlib/src/main/java/org/jf/dexlib/Util/ByteArrayOutput.java @@ -223,13 +223,13 @@ public final class ByteArrayOutput implements Output /** {@inheritDoc} */ public int writeUnsignedLeb128(int value) { - int remaining = value >> 7; + int remaining = value >>> 7; int count = 0; while (remaining != 0) { writeByte((value & 0x7f) | 0x80); value = remaining; - remaining >>= 7; + remaining >>>= 7; count++; } diff --git a/dexlib/src/main/java/org/jf/dexlib/Util/Leb128Utils.java b/dexlib/src/main/java/org/jf/dexlib/Util/Leb128Utils.java index 9ed9d367..5d5bd1a4 100644 --- a/dexlib/src/main/java/org/jf/dexlib/Util/Leb128Utils.java +++ b/dexlib/src/main/java/org/jf/dexlib/Util/Leb128Utils.java @@ -37,12 +37,12 @@ public final class Leb128Utils { public static int unsignedLeb128Size(int value) { // TODO: This could be much cleverer. - int remaining = value >> 7; + int remaining = value >>> 7; int count = 0; while (remaining != 0) { value = remaining; - remaining >>= 7; + remaining >>>= 7; count++; }