diff options
author | Tom Tromey <tromey@cygnus.com> | 1999-05-10 12:33:07 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 1999-05-10 12:33:07 +0000 |
commit | 9733e4ee3172af5cf90267abf4a9ce8e082c058b (patch) | |
tree | 1f3955d0c2dba39eb67bebb27fc42978c9289425 /libjava/java/util | |
parent | 05e0b2f47cf953ec7db7d9dede697420c9e48748 (diff) | |
download | gcc-9733e4ee3172af5cf90267abf4a9ce8e082c058b.zip gcc-9733e4ee3172af5cf90267abf4a9ce8e082c058b.tar.gz gcc-9733e4ee3172af5cf90267abf4a9ce8e082c058b.tar.bz2 |
InputStreamReader.java (read): If length is 0, return 0.
* java/io/InputStreamReader.java (read): If length is 0, return
0. Reset `wpos' and `wcount' when buffer has been filled and
emptied.
* java/util/Properties.java (save): Removed `FIXME' comment.
(load): Invalid characters in \u now treated as terminators.
Make sure to append character resulting from `\' handling.
Cast to `char' when appending to key or value.
(skip_ws): Inverted test for whitespace.
From-SVN: r26862
Diffstat (limited to 'libjava/java/util')
-rw-r--r-- | libjava/java/util/Properties.java | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/libjava/java/util/Properties.java b/libjava/java/util/Properties.java index aac7214..2988e7b 100644 --- a/libjava/java/util/Properties.java +++ b/libjava/java/util/Properties.java @@ -103,7 +103,7 @@ public class Properties extends Hashtable // FIXME: we use our own definition of whitespace. // Character.isWhitespace includes newlines, which we don't // want. Character.isSpaceChar doesn't include \t. - if (c == ' ' || c == '\t') + if (c != ' ' && c != '\t') { reader.unread(c); return true; @@ -166,12 +166,12 @@ public class Properties extends Hashtable reader.unread(c); break; } - // FIXME: again, our own definitino of whitespace. + // FIXME: again, our own definition of whitespace. if (c == ' ' || c == '\t' || c == ':' || c == '=') break; first_char = false; - key.append(c); + key.append((char) c); } // Found end of key. Skip whitespace. If the terminator @@ -226,10 +226,14 @@ public class Properties extends Hashtable if (x == -1) return; int d = Character.digit((char) x, 16); - // FIXME: what to do here? We call it an - // error. + // We follow JDK here: invalid characters + // are treated as terminators. if (d == -1) - throw new IOException (); + { + value.append((char) c); + c = x; + break; + } c <<= 4; c |= d; } @@ -238,8 +242,7 @@ public class Properties extends Hashtable // Nothing. } } - else - value.append(c); + value.append((char) c); } put (key.toString(), value.toString()); @@ -290,7 +293,8 @@ public class Properties extends Hashtable { if (comment != null) { - // FIXME: what if COMMENT contains newlines? + // We just lose if COMMENT contains a newline. This is + // what JDK 1.1 does. output.write("#"); output.write(comment); output.write(newline); @@ -309,7 +313,7 @@ public class Properties extends Hashtable // characters. But it also doesn't say we should encode // it in any way. // FIXME: if key contains ':', '=', or whitespace, must - // quote it here. + // quote it here. Note that JDK 1.1 does not do this. output.write(key); output.write("="); |