Hi,
the attached patch fixes a problem when you numberformat pattern
contains the currency replacement character (/u00a4).
I suggest that this patch should be added to GCJ as well, as it fixes an
annoying issue.
Regards
Robert
ChangeLog:
2008-09-04 Robert Schuster <[EMAIL PROTECTED]>
* java/text/DecimalFormat.java:
(scanFix): Use 'i + 1' when looking at following character.
(scanNegativePattern): Dito.
Index: java/text/DecimalFormat.java
===================================================================
RCS file: /sources/classpath/classpath/java/text/DecimalFormat.java,v
retrieving revision 1.37
diff -u -r1.37 DecimalFormat.java
--- java/text/DecimalFormat.java 17 Aug 2008 22:31:56 -0000 1.37
+++ java/text/DecimalFormat.java 3 Sep 2008 23:01:41 -0000
@@ -1321,7 +1321,7 @@
currencySymbol = this.symbols.getCurrencySymbol();
// if \u00A4 is doubled, we use the international currency symbol
- if (i < len && pattern.charAt(i + 1) == '\u00A4')
+ if ((i + 1) < len && pattern.charAt(i + 1) == '\u00A4')
{
currencySymbol = this.symbols.getInternationalCurrencySymbol();
i++;
@@ -1345,7 +1345,7 @@
else if (ch == '\'')
{
// QUOTE
- if (i < len && pattern.charAt(i + 1) == '\'')
+ if ((i + 1) < len && pattern.charAt(i + 1) == '\'')
{
// we need to add ' to the buffer
buffer.append(ch);
@@ -1717,7 +1717,7 @@
else if (ch == '\'')
{
// QUOTE
- if (i < len && pattern.charAt(i + 1) == '\'')
+ if ((i + 1) < len && pattern.charAt(i + 1) == '\'')
{
// we need to add ' to the buffer
buffer.append(ch);