From 66fe55d120b36a2fc0753d26acb903667edecdd6 Mon Sep 17 00:00:00 2001 From: David P Grove Date: Mon, 4 Aug 2003 21:21:01 +0000 Subject: [PATCH] DecimalFormat.java (format): avoid ArithmeticException when groupingSize is 0. 2003-08-04 David P Grove * java/text/DecimalFormat.java (format): avoid ArithmeticException when groupingSize is 0. (parse): Likewise. From-SVN: r70156 --- libjava/ChangeLog | 6 ++++++ 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 + + * java/text/DecimalFormat.java (format): avoid ArithmeticException + when groupingSize is 0. + (parse): Likewise. + 2003-08-04 Matthias Klose * 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); -- 2.30.2