Fixed a bug in the logic to read in an EncodedValue

git-svn-id: https://smali.googlecode.com/svn/trunk@43 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
diff --git a/src/main/java/org/JesusFreke/dexlib/EncodedValue/EncodedIndexedItemReference.java b/src/main/java/org/JesusFreke/dexlib/EncodedValue/EncodedIndexedItemReference.java
index c3a32a5..cec9b98 100644
--- a/src/main/java/org/JesusFreke/dexlib/EncodedValue/EncodedIndexedItemReference.java
+++ b/src/main/java/org/JesusFreke/dexlib/EncodedValue/EncodedIndexedItemReference.java
@@ -69,7 +69,7 @@
 
     public void readFrom(Input in) {
         setReference(((IndexedSection<T>)getSection()).getByIndex(
-                (int)EncodedValueUtils.decodeUnsignedIntegralValue(in.readBytes(initialValueArg))));
+                (int)EncodedValueUtils.decodeUnsignedIntegralValue(in.readBytes(initialValueArg + 1))));
     }
 
     public int place(int offset) {
diff --git a/src/main/java/org/JesusFreke/dexlib/EncodedValue/EncodedValue.java b/src/main/java/org/JesusFreke/dexlib/EncodedValue/EncodedValue.java
index 14d1e77..967de9f 100644
--- a/src/main/java/org/JesusFreke/dexlib/EncodedValue/EncodedValue.java
+++ b/src/main/java/org/JesusFreke/dexlib/EncodedValue/EncodedValue.java
@@ -108,6 +108,7 @@
 

         public void readFrom(Input in) {

             subField = EncodedValueSubFieldFactory.makeEncodedValueField(dexFile, getValueType());

+            subField.setInitialValueArg(getValueArg());

             subField.readFrom(in);

         }