summaryrefslogtreecommitdiff
path: root/libjava/classpath/gnu/xml/stream
diff options
context:
space:
mode:
authorMark Wielaard <mark@gcc.gnu.org>2006-05-18 17:29:21 +0000
committerMark Wielaard <mark@gcc.gnu.org>2006-05-18 17:29:21 +0000
commit4f9533c7722fa07511a94d005227961f4a4dec23 (patch)
tree9f9c470de62ee62fba1331a396450d728d2b1fad /libjava/classpath/gnu/xml/stream
parenteaec4980e139903ae9b274d1abcf3a13946603a8 (diff)
downloadgcc-4f9533c7722fa07511a94d005227961f4a4dec23.tar.gz
Imported GNU Classpath 0.90
Imported GNU Classpath 0.90 * scripts/makemake.tcl: LocaleData.java moved to gnu/java/locale. * sources.am: Regenerated. * gcj/javaprims.h: Regenerated. * Makefile.in: Regenerated. * gcj/Makefile.in: Regenerated. * include/Makefile.in: Regenerated. * testsuite/Makefile.in: Regenerated. * gnu/java/lang/VMInstrumentationImpl.java: New override. * gnu/java/net/local/LocalSocketImpl.java: Likewise. * gnu/classpath/jdwp/VMMethod.java: Likewise. * gnu/classpath/jdwp/VMVirtualMachine.java: Update to latest interface. * java/lang/Thread.java: Add UncaughtExceptionHandler. * java/lang/reflect/Method.java: Implements GenericDeclaration and isSynthetic(), * java/lang/reflect/Field.java: Likewise. * java/lang/reflect/Constructor.java * java/lang/Class.java: Implements Type, GenericDeclaration, getSimpleName() and getEnclosing*() methods. * java/lang/Class.h: Add new public methods. * java/lang/Math.java: Add signum(), ulp() and log10(). * java/lang/natMath.cc (log10): New function. * java/security/VMSecureRandom.java: New override. * java/util/logging/Logger.java: Updated to latest classpath version. * java/util/logging/LogManager.java: New override. From-SVN: r113887
Diffstat (limited to 'libjava/classpath/gnu/xml/stream')
-rw-r--r--libjava/classpath/gnu/xml/stream/XMLParser.java12
1 files changed, 9 insertions, 3 deletions
diff --git a/libjava/classpath/gnu/xml/stream/XMLParser.java b/libjava/classpath/gnu/xml/stream/XMLParser.java
index 9bb4834267e..87096eecf9e 100644
--- a/libjava/classpath/gnu/xml/stream/XMLParser.java
+++ b/libjava/classpath/gnu/xml/stream/XMLParser.java
@@ -3534,7 +3534,7 @@ public class XMLParser
public static boolean isXML11Char(int c)
{
return ((c >= 0x0001 && c <= 0xD7FF) ||
- (c >= 0xE000 && c < 0xFFFD) || // NB exclude 0xfffd
+ (c >= 0xE000 && c < 0xFFFE) ||
(c >= 0x10000 && c <= 0x10FFFF));
}
@@ -4014,7 +4014,7 @@ public class XMLParser
public static boolean isChar(int c)
{
return (c >= 0x20 && c < 0xd800) ||
- (c >= 0xe00 && c < 0xfffd) || // NB exclude 0xfffd
+ (c >= 0xe00 && c < 0xfffe) ||
(c >= 0x10000 && c < 0x110000) ||
c == 0xa || c == 0x9 || c == 0xd;
}
@@ -4965,6 +4965,7 @@ public class XMLParser
Reader reader;
UnicodeReader unicodeReader;
boolean initialized;
+ boolean encodingDetected;
String inputEncoding;
boolean xml11;
@@ -5174,6 +5175,7 @@ public class XMLParser
in.read();
in.read();
setInputEncoding("UTF-32BE");
+ encodingDetected = true;
}
else if (equals(SIGNATURE_UCS_4_4321, signature))
{
@@ -5182,6 +5184,7 @@ public class XMLParser
in.read();
in.read();
setInputEncoding("UTF-32LE");
+ encodingDetected = true;
}
else if (equals(SIGNATURE_UCS_4_2143, signature) ||
equals(SIGNATURE_UCS_4_3412, signature))
@@ -5193,12 +5196,14 @@ public class XMLParser
in.read();
in.read();
setInputEncoding("UTF-16BE");
+ encodingDetected = true;
}
else if (equals(SIGNATURE_UCS_2_21, signature))
{
in.read();
in.read();
setInputEncoding("UTF-16LE");
+ encodingDetected = true;
}
else if (equals(SIGNATURE_UCS_2_12_NOBOM, signature))
{
@@ -5221,6 +5226,7 @@ public class XMLParser
in.read();
in.read();
setInputEncoding("UTF-8");
+ encodingDetected = true;
}
}
@@ -5242,7 +5248,7 @@ public class XMLParser
if ("UTF-16".equalsIgnoreCase(encoding) &&
inputEncoding.startsWith("UTF-16"))
return;
- if (reader != null)
+ if (encodingDetected)
throw new UnsupportedEncodingException("document is not in its " +
"declared encoding " +
inputEncoding +