aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/text
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2004-08-31 09:50:40 +0000
committerAndreas Tobler <andreast@gcc.gnu.org>2004-08-31 11:50:40 +0200
commite2ab6d127aa3379ef3ad19779bfe52b273a1a757 (patch)
tree932905a0edb65eb0f9f8b0778733087b34517924 /libjava/java/text
parent71b5d516bc6cd5fc865ac560e4bea70607207272 (diff)
downloadgcc-e2ab6d127aa3379ef3ad19779bfe52b273a1a757.zip
gcc-e2ab6d127aa3379ef3ad19779bfe52b273a1a757.tar.gz
gcc-e2ab6d127aa3379ef3ad19779bfe52b273a1a757.tar.bz2
AttributedString.java (AttributedString): Use ArrayList to build array of attribute ranges.
2004-08-31 Tom Tromey <tromey@redhat.com> * java/text/AttributedString.java (AttributedString): Use ArrayList to build array of attribute ranges. Don't use `attribs' before it is set. From-SVN: r86825
Diffstat (limited to 'libjava/java/text')
-rw-r--r--libjava/java/text/AttributedString.java12
1 files changed, 7 insertions, 5 deletions
diff --git a/libjava/java/text/AttributedString.java b/libjava/java/text/AttributedString.java
index 8304ced..41512dc 100644
--- a/libjava/java/text/AttributedString.java
+++ b/libjava/java/text/AttributedString.java
@@ -39,6 +39,7 @@ exception statement from your version. */
package java.text;
import java.util.Arrays;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Iterator;
@@ -224,6 +225,7 @@ AttributedString(AttributedCharacterIterator aci, int begin_index,
// Loop through and extract the attributes
char c = aci.setIndex(begin_index);
+ ArrayList accum = new ArrayList();
do
{
sb.append(c);
@@ -272,17 +274,17 @@ AttributedString(AttributedCharacterIterator aci, int begin_index,
Map new_map = new Hashtable();
new_map.put(attrib, attrib_obj);
- // Add it to the attribute list. Yes this is a bad way to do things.
- AttributeRange[] new_list = new AttributeRange[attribs.length + 1];
- System.arraycopy(attribs, 0, new_list, 0, attribs.length);
- attribs = new_list;
- attribs[attribs.length - 1] = new AttributeRange(new_map, rs, rl);
+ // Add it to the attribute list.
+ accum.add(new AttributeRange(new_map, rs, rl));
}
c = aci.next();
}
while(c != CharacterIterator.DONE);
+ attribs = new AttributeRange[accum.size()];
+ attribs = (AttributeRange[]) accum.toArray(attribs);
+
sci = new StringCharacterIterator(sb.toString());
}