summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDalibor Topic <robilad@yahoo.com>2006-03-06 01:30:13 +0000
committerDalibor Topic <robilad@yahoo.com>2006-03-06 01:30:13 +0000
commite3469239533dc0f689eb4d98f67a29a7319c9ce5 (patch)
tree89a135b7813970dbf0233161e9d8d99a3cd616ca
parent5f231efdef8ad2665d902529b31d21b444566fd1 (diff)
downloadclasspath-e3469239533dc0f689eb4d98f67a29a7319c9ce5.tar.gz
don't drop unicode characters outside the basic plane when quoting URI components
2006-03-06 Dalibor Topic <robilad@kaffe.org> * libraries/javalib/external/classpath/java/net/URI.java (quote): Pass Unicode characters outside the basic plane through.
-rw-r--r--ChangeLog5
-rw-r--r--java/net/URI.java14
2 files changed, 11 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index bd7c818e3..4bff5068d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-03-06 Dalibor Topic <robilad@kaffe.org>
+
+ * libraries/javalib/external/classpath/java/net/URI.java (quote):
+ Pass Unicode characters outside the basic plane through.
+
2006-03-06 Robert Schuster <robertschuster@fsfe.org>
* javax/swing/text/PlainDocument.java:
diff --git a/java/net/URI.java b/java/net/URI.java
index 39e8dadfc..401352fcf 100644
--- a/java/net/URI.java
+++ b/java/net/URI.java
@@ -487,16 +487,14 @@ public final class URI
for (int i = 0; i < str.length(); i++)
{
char c = str.charAt(i);
- if (legalCharacters.indexOf(c) == -1)
+ if ((legalCharacters.indexOf(c) == -1)
+ && (c <= 127))
{
- if (c <= 127)
- {
- sb.append('%');
- sb.append(HEX.charAt(c / 16));
- sb.append(HEX.charAt(c % 16));
- }
+ sb.append('%');
+ sb.append(HEX.charAt(c / 16));
+ sb.append(HEX.charAt(c % 16));
}
- else
+ else
sb.append(c);
}
return sb.toString();