aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/util
diff options
context:
space:
mode:
authorTom Tromey <tromey@cygnus.com>1999-05-10 12:33:07 +0000
committerTom Tromey <tromey@gcc.gnu.org>1999-05-10 12:33:07 +0000
commit9733e4ee3172af5cf90267abf4a9ce8e082c058b (patch)
tree1f3955d0c2dba39eb67bebb27fc42978c9289425 /libjava/java/util
parent05e0b2f47cf953ec7db7d9dede697420c9e48748 (diff)
downloadgcc-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.java24
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("=");