diff options
Diffstat (limited to 'gnu/java/nio/charset/US_ASCII.java')
-rw-r--r-- | gnu/java/nio/charset/US_ASCII.java | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/gnu/java/nio/charset/US_ASCII.java b/gnu/java/nio/charset/US_ASCII.java index d26f7ffc9..8888416be 100644 --- a/gnu/java/nio/charset/US_ASCII.java +++ b/gnu/java/nio/charset/US_ASCII.java @@ -134,6 +134,19 @@ final class US_ASCII extends Charset super (cs, 1.0f, 1.0f); } + public boolean canEncode(char c) + { + return c <= 0x7f; + } + + public boolean canEncode(CharSequence cs) + { + for (int i = 0; i < cs.length(); ++i) + if (! canEncode(cs.charAt(i))) + return false; + return true; + } + protected CoderResult encodeLoop (CharBuffer in, ByteBuffer out) { // TODO: Optimize this in the case in.hasArray() / out.hasArray() @@ -141,7 +154,7 @@ final class US_ASCII extends Charset { char c = in.get (); - if (c > Byte.MAX_VALUE) + if (c > 0x7f) { in.position (in.position () - 1); return CoderResult.unmappableForLength (1); |