summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew John Hughes <gnu_andrew@member.fsf.org>2008-12-31 11:28:10 +0000
committerAndrew John Hughes <gnu_andrew@member.fsf.org>2008-12-31 11:28:10 +0000
commit4eec7f038d86d45f4874bb9aef49a7d113875e94 (patch)
tree510b1940cdbaa84f4ff4a8790b6597930a1761b7
parente3eecdd70bc30a016fc4b7e12af60a25edb86e0c (diff)
downloadclasspath-4eec7f038d86d45f4874bb9aef49a7d113875e94.tar.gz
Emulate Vector.setSize() with ArrayList.
2008-12-31 Andrew John Hughes <gnu_andrew@member.fsf.org> * java/text/MessageFormat.java: (parse(String,ParsePosition)): Emulate behaviour of Vector's setSize() which was being implicitly relied on.
-rw-r--r--ChangeLog6
-rw-r--r--java/text/MessageFormat.java7
2 files changed, 12 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 10008c4b1..ea6d9dcd7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2008-12-31 Andrew John Hughes <gnu_andrew@member.fsf.org>
+ * java/text/MessageFormat.java:
+ (parse(String,ParsePosition)): Emulate behaviour
+ of Vector's setSize() which was being implicitly relied on.
+
+2008-12-31 Andrew John Hughes <gnu_andrew@member.fsf.org>
+
* java/text/SimpleDateFormat.java:
Remove superfluous empty line introduced
in last commit.
diff --git a/java/text/MessageFormat.java b/java/text/MessageFormat.java
index 9019d1bb6..8c2a02322 100644
--- a/java/text/MessageFormat.java
+++ b/java/text/MessageFormat.java
@@ -686,7 +686,12 @@ public class MessageFormat extends Format
}
if (elements[i].argNumber >= results.size())
- results.ensureCapacity(elements[i].argNumber + 1);
+ {
+ // Emulate padding behaviour of Vector.setSize() with ArrayList
+ results.ensureCapacity(elements[i].argNumber + 1);
+ for (int a = results.size(); a <= elements[i].argNumber; ++a)
+ results.add(a, null);
+ }
results.set(elements[i].argNumber, value);
index += elements[i].trailer.length();