You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by sj...@apache.org on 2008/03/27 15:45:16 UTC

svn commit: r641838 - /harmony/enhanced/classlib/trunk/modules/pack200/src/main/java/org/apache/harmony/pack200/CpBands.java

Author: sjanuary
Date: Thu Mar 27 07:45:13 2008
New Revision: 641838

URL: http://svn.apache.org/viewvc?rev=641838&view=rev
Log:
Partial fix for HARMONY-5645 ([classlib][pack200] Pack200 - still some issues with maximal encoding (non -E1))

Modified:
    harmony/enhanced/classlib/trunk/modules/pack200/src/main/java/org/apache/harmony/pack200/CpBands.java

Modified: harmony/enhanced/classlib/trunk/modules/pack200/src/main/java/org/apache/harmony/pack200/CpBands.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/pack200/src/main/java/org/apache/harmony/pack200/CpBands.java?rev=641838&r1=641837&r2=641838&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/pack200/src/main/java/org/apache/harmony/pack200/CpBands.java (original)
+++ harmony/enhanced/classlib/trunk/modules/pack200/src/main/java/org/apache/harmony/pack200/CpBands.java Thu Mar 27 07:45:13 2008
@@ -55,14 +55,14 @@
     private String[] cpString;
     private String[] cpUTF8;
 
-    private HashMap[] stringsToCPUTF8 = new HashMap[ClassConstantPool.NUM_DOMAINS];
-    private HashMap stringsToCPStrings = new HashMap();
-    private HashMap longsToCPLongs = new HashMap();
-    private HashMap integersToCPIntegers = new HashMap();
-    private HashMap floatsToCPFloats = new HashMap();
-    private HashMap stringsToCPClass = new HashMap();
-    private HashMap doublesToCPDoubles = new HashMap();
-    private HashMap descriptorsToCPNameAndTypes = new HashMap();
+    private final HashMap[] stringsToCPUTF8 = new HashMap[ClassConstantPool.NUM_DOMAINS];
+    private final HashMap stringsToCPStrings = new HashMap();
+    private final HashMap longsToCPLongs = new HashMap();
+    private final HashMap integersToCPIntegers = new HashMap();
+    private final HashMap floatsToCPFloats = new HashMap();
+    private final HashMap stringsToCPClass = new HashMap();
+    private final HashMap doublesToCPDoubles = new HashMap();
+    private final HashMap descriptorsToCPNameAndTypes = new HashMap();
 
 
     public CpBands(Segment segment) {
@@ -336,7 +336,10 @@
 
         // Read in the big suffix data
         int[] bigSuffixCounts = decodeBandInt("cp_Utf8_big_suffix", in, Codec.DELTA5, bigSuffixCount);
-        int[][] bigSuffixDataBand = decodeBandInt("cp_Utf8_big_chars", in, Codec.DELTA5, bigSuffixCounts);
+        int[][] bigSuffixDataBand = new int[bigSuffixCount][];
+        for (int i = 0; i < bigSuffixDataBand.length; i++) {
+			bigSuffixDataBand[i] = decodeBandInt("cp_Utf8_big_chars " + i, in, Codec.DELTA5, bigSuffixCounts[i]);
+		}
 
         // Convert big suffix data to characters
         char bigSuffixData[][] = new char[bigSuffixCount][];