diff options
-rw-r--r-- | libjava/ChangeLog | 6 | ||||
-rw-r--r-- | libjava/java/text/DecimalFormat.java | 10 |
2 files changed, 12 insertions, 4 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index f4861c0366f..04f343782c2 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,9 @@ +2003-08-04 David P Grove <groved@us.ibm.com> + + * java/text/DecimalFormat.java (format): avoid ArithmeticException + when groupingSize is 0. + (parse): Likewise. + 2003-08-04 Matthias Klose <doko@debian.org> * libart.m4: check for libart-config binary diff --git a/libjava/java/text/DecimalFormat.java b/libjava/java/text/DecimalFormat.java index 7f946173fee..0cf2d8fff3b 100644 --- a/libjava/java/text/DecimalFormat.java +++ b/libjava/java/text/DecimalFormat.java @@ -474,7 +474,7 @@ public class DecimalFormat extends NumberFormat intPart = Math.floor(intPart / 10); // Append group separator if required. - if (groupingUsed && count > 0 && count % groupingSize == 0) + if (groupingUsed && count > 0 && groupingSize != 0 && count % groupingSize == 0) dest.insert(index, symbols.getGroupingSeparator()); dest.insert(index, (char) (symbols.getZeroDigit() + dig)); @@ -602,7 +602,7 @@ public class DecimalFormat extends NumberFormat } // Append group separator if required. - if (groupingUsed && count > 0 && count % groupingSize == 0) + if (groupingUsed && count > 0 && groupingSize != 0 && count % groupingSize == 0) dest.insert(index, symbols.getGroupingSeparator()); dest.insert(index, (char) (symbols.getZeroDigit() + dig)); @@ -748,7 +748,8 @@ public class DecimalFormat extends NumberFormat // FIXME: what about grouping size? if (groupingUsed && c == symbols.getGroupingSeparator()) { - if (last_group != -1 + if (last_group != -1 + && groupingSize != 0 && (index - last_group) % groupingSize != 0) { pos.setErrorIndex(index); @@ -765,7 +766,8 @@ public class DecimalFormat extends NumberFormat break; else if (c == symbols.getDecimalSeparator()) { - if (last_group != -1 + if (last_group != -1 + && groupingSize != 0 && (index - last_group) % groupingSize != 0) { pos.setErrorIndex(index); |