diff options
author | Dalibor Topic <robilad@yahoo.com> | 2006-03-06 01:30:13 +0000 |
---|---|---|
committer | Dalibor Topic <robilad@yahoo.com> | 2006-03-06 01:30:13 +0000 |
commit | e3469239533dc0f689eb4d98f67a29a7319c9ce5 (patch) | |
tree | 89a135b7813970dbf0233161e9d8d99a3cd616ca | |
parent | 5f231efdef8ad2665d902529b31d21b444566fd1 (diff) | |
download | classpath-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-- | ChangeLog | 5 | ||||
-rw-r--r-- | java/net/URI.java | 14 |
2 files changed, 11 insertions, 8 deletions
@@ -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(); |