From ae7235f8dfb6eb5578a7a0fa3199ea4ba8f906de Mon Sep 17 00:00:00 2001 From: "JesusFreke@JesusFreke.com" Date: Tue, 11 Aug 2009 02:56:41 +0000 Subject: [PATCH] Fixed issue with size calculation in placeValue git-svn-id: https://smali.googlecode.com/svn/trunk@384 55b6fa8a-2a1e-11de-a435-ffa8d773f76a --- dexlib/src/main/java/org/jf/dexlib/ClassDataItem.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/dexlib/src/main/java/org/jf/dexlib/ClassDataItem.java b/dexlib/src/main/java/org/jf/dexlib/ClassDataItem.java index c4750031..1213fa61 100644 --- a/dexlib/src/main/java/org/jf/dexlib/ClassDataItem.java +++ b/dexlib/src/main/java/org/jf/dexlib/ClassDataItem.java @@ -119,25 +119,25 @@ public class ClassDataItem extends Item { EncodedField previousEncodedField = null; for (EncodedField encodedField: staticFields) { - offset += encodedField.place(offset, previousEncodedField); + offset = encodedField.place(offset, previousEncodedField); previousEncodedField = encodedField; } previousEncodedField = null; for (EncodedField encodedField: instanceFields) { - offset += encodedField.place(offset, previousEncodedField); + offset = encodedField.place(offset, previousEncodedField); previousEncodedField = encodedField; } EncodedMethod previousEncodedMethod = null; for (EncodedMethod encodedMethod: directMethods) { - offset += encodedMethod.place(offset, previousEncodedMethod); + offset = encodedMethod.place(offset, previousEncodedMethod); previousEncodedMethod = encodedMethod; } previousEncodedMethod = null; for (EncodedMethod encodedMethod: virtualMethods) { - offset += encodedMethod.place(offset, previousEncodedMethod); + offset = encodedMethod.place(offset, previousEncodedMethod); previousEncodedMethod = encodedMethod; } @@ -448,7 +448,7 @@ public class ClassDataItem extends Item { offset += Leb128Utils.unsignedLeb128Size(method.getIndex() - previousIndex); offset += Leb128Utils.unsignedLeb128Size(accessFlags); - offset += codeItem==null?1:Leb128Utils.unsignedLeb128Size(codeItem.getIndex()); + offset += codeItem==null?1:Leb128Utils.unsignedLeb128Size(codeItem.getOffset()); return offset; }