diff options
author | Warren Levy <warrenl@gcc.gnu.org> | 1999-07-01 17:01:00 +0000 |
---|---|---|
committer | Warren Levy <warrenl@gcc.gnu.org> | 1999-07-01 17:01:00 +0000 |
commit | cb1902adbf904ff5b63d0a9ceed558783b0c875a (patch) | |
tree | 70da939588cb45ac14f7dd46616cb050181871b0 /libjava/gnu/gcj | |
parent | b537d12084f7aba41c814b0bcf0edf5d0ac3a159 (diff) | |
download | gcc-cb1902adbf904ff5b63d0a9ceed558783b0c875a.zip gcc-cb1902adbf904ff5b63d0a9ceed558783b0c875a.tar.gz gcc-cb1902adbf904ff5b63d0a9ceed558783b0c875a.tar.bz2 |
[multiple changes]
1999-07-01 Warren Levy <warrenl@cygnus.com>
* gnu/gcj/convert/BytesToUnicode.java (read): Changed outlength
to count and revised comments to match.
* gnu/gcj/convert/Input_EUCJIS.java (read): Same as Input_8859_1.java.
* gnu/gcj/convert/Input_JavaSrc.java (read): ditto.
* gnu/gcj/convert/Input_SJIS.java (read): ditto.
* gnu/gcj/convert/Input_UTF8.java (read): ditto.
* gnu/gcj/convert/natInput_EUCJIS.cc (read): ditto.
* gnu/gcj/convert/natInput_SJIS.cc (read): ditto.
1999-07-01 John-Marc Chandonia <jmc@cmpharm.ucsf.edu>
* gnu/gcj/convert/Input_8859_1.java (read): Use 3rd parameter
properly as count rather than outlength.
* java/io/BufferedOutputStream.java (write(byte[],int,int): Flush
output on overflow rather than buffer fill.
* java/io/BufferedReader.java (fill): Don't clear out the buffer
if markPos is 0 and there is still room in the buffer.
From-SVN: r27892
Diffstat (limited to 'libjava/gnu/gcj')
-rw-r--r-- | libjava/gnu/gcj/convert/BytesToUnicode.java | 12 | ||||
-rw-r--r-- | libjava/gnu/gcj/convert/Input_8859_1.java | 6 | ||||
-rw-r--r-- | libjava/gnu/gcj/convert/Input_EUCJIS.java | 2 | ||||
-rw-r--r-- | libjava/gnu/gcj/convert/Input_JavaSrc.java | 4 | ||||
-rw-r--r-- | libjava/gnu/gcj/convert/Input_SJIS.java | 2 | ||||
-rw-r--r-- | libjava/gnu/gcj/convert/Input_UTF8.java | 6 | ||||
-rw-r--r-- | libjava/gnu/gcj/convert/natInput_EUCJIS.cc | 4 | ||||
-rw-r--r-- | libjava/gnu/gcj/convert/natInput_SJIS.cc | 4 |
8 files changed, 21 insertions, 19 deletions
diff --git a/libjava/gnu/gcj/convert/BytesToUnicode.java b/libjava/gnu/gcj/convert/BytesToUnicode.java index cfcb813..6e4d15d 100644 --- a/libjava/gnu/gcj/convert/BytesToUnicode.java +++ b/libjava/gnu/gcj/convert/BytesToUnicode.java @@ -91,15 +91,17 @@ public abstract class BytesToUnicode * bytes start at inbuffer[inpos], and end at inbuffer[inlength-1]. * @param outbuffer buffer for the converted character * @param outpos position in buffer to start putting converted characters - * @param outlength the maximum number of characters to convert + * @param count the maximum number of characters to convert * @return number of chars placed in outbuffer. * Also, this.inpos is incremented by the number of bytes consumed. * * (Note the asymmetry in that the input upper bound is inbuffer[inlength-1], - * while the output upper bound is outbuffer[outpos+outlength-1]. The + * while the output upper bound is outbuffer[outpos+count-1]. The * justification is that inlength is like the count field of a - * BufferedInputStream, while the outlength parameter is like the - * length parameter of a read request.) + * BufferedInputStream, while the count parameter is like the + * length parameter of a read request.) The count parameter is + * also defined to be <= outbuffer.length - outpos (per the specification + * of the length parameter for a read request). */ - public abstract int read (char[] outbuffer, int outpos, int outlength); + public abstract int read (char[] outbuffer, int outpos, int count); } diff --git a/libjava/gnu/gcj/convert/Input_8859_1.java b/libjava/gnu/gcj/convert/Input_8859_1.java index e0d2d51..edc5973 100644 --- a/libjava/gnu/gcj/convert/Input_8859_1.java +++ b/libjava/gnu/gcj/convert/Input_8859_1.java @@ -11,21 +11,21 @@ package gnu.gcj.convert; /** * Convert ISO-Latin-1 (8851-1) text to Unicode. * @author Per Bothner <bothner@cygnus.com> - * @date Match 1999. + * @date March 1999. */ public class Input_8859_1 extends BytesToUnicode { public String getName() { return "8859_1"; } - public int read (char[] outbuffer, int outpos, int outlength) + public int read (char[] outbuffer, int outpos, int count) { int origpos = outpos; // Make sure fields of this are in registers. int inpos = this.inpos; byte[] inbuffer = this.inbuffer; int inavail = this.inlength - inpos; - int outavail = outlength - outpos; + int outavail = count; if (outavail > inavail) outavail = inavail; while (--outavail >= 0) diff --git a/libjava/gnu/gcj/convert/Input_EUCJIS.java b/libjava/gnu/gcj/convert/Input_EUCJIS.java index 1531442..12dc34e 100644 --- a/libjava/gnu/gcj/convert/Input_EUCJIS.java +++ b/libjava/gnu/gcj/convert/Input_EUCJIS.java @@ -21,5 +21,5 @@ public class Input_EUCJIS extends BytesToUnicode int codeset = 0; int first_byte; - public native int read (char[] outbuffer, int outpos, int outlength); + public native int read (char[] outbuffer, int outpos, int count); } diff --git a/libjava/gnu/gcj/convert/Input_JavaSrc.java b/libjava/gnu/gcj/convert/Input_JavaSrc.java index fc2107a..68af337 100644 --- a/libjava/gnu/gcj/convert/Input_JavaSrc.java +++ b/libjava/gnu/gcj/convert/Input_JavaSrc.java @@ -27,14 +27,14 @@ public class Input_JavaSrc extends BytesToUnicode int value; - public int read (char[] outbuffer, int outpos, int outlength) + public int read (char[] outbuffer, int outpos, int count) { int origpos = outpos; for (;;) { if (inpos >= inlength) break; - if (outpos >= outlength) + if (outpos - origpos >= count) break; char b = (char) (inbuffer[inpos++] & 0xFF); switch (state) diff --git a/libjava/gnu/gcj/convert/Input_SJIS.java b/libjava/gnu/gcj/convert/Input_SJIS.java index cdc7c4c..5098820 100644 --- a/libjava/gnu/gcj/convert/Input_SJIS.java +++ b/libjava/gnu/gcj/convert/Input_SJIS.java @@ -18,7 +18,7 @@ public class Input_SJIS extends BytesToUnicode { public String getName() { return "SJIS"; } - public native int read (char[] outbuffer, int outpos, int outlength); + public native int read (char[] outbuffer, int outpos, int count); int first_byte; } diff --git a/libjava/gnu/gcj/convert/Input_UTF8.java b/libjava/gnu/gcj/convert/Input_UTF8.java index 0bb5c48..ab1ac51 100644 --- a/libjava/gnu/gcj/convert/Input_UTF8.java +++ b/libjava/gnu/gcj/convert/Input_UTF8.java @@ -11,7 +11,7 @@ package gnu.gcj.convert; /** * Convert UTF8 to Unicode. * @author Per Bothner <bothner@cygnus.com> - * @date Match 1999. + * @date March 1999. */ public class Input_UTF8 extends BytesToUnicode @@ -22,12 +22,12 @@ public class Input_UTF8 extends BytesToUnicode int partial_bytes_expected = 0; //int suggogate_second = -1; - public int read (char[] outbuffer, int outpos, int outlength) + public int read (char[] outbuffer, int outpos, int count) { int origpos = outpos; for (;;) { - if (outpos >= outlength) + if (outpos - origpos >= count) break; if (inpos >= inlength) break; diff --git a/libjava/gnu/gcj/convert/natInput_EUCJIS.cc b/libjava/gnu/gcj/convert/natInput_EUCJIS.cc index 4c62818..8f3b272 100644 --- a/libjava/gnu/gcj/convert/natInput_EUCJIS.cc +++ b/libjava/gnu/gcj/convert/natInput_EUCJIS.cc @@ -17,12 +17,12 @@ extern unsigned short JIS0212_to_Unicode[76][94]; jint gnu::gcj::convert::Input_EUCJIS::read(jcharArray outbuffer, jint outpos, - jint outlength) + jint count) { jint start_outpos = outpos; for (;;) { - if (outpos >= outlength) + if (outpos - start_outpos >= count) break; if (inpos >= inlength) break; diff --git a/libjava/gnu/gcj/convert/natInput_SJIS.cc b/libjava/gnu/gcj/convert/natInput_SJIS.cc index 59ad532..5a040b1 100644 --- a/libjava/gnu/gcj/convert/natInput_SJIS.cc +++ b/libjava/gnu/gcj/convert/natInput_SJIS.cc @@ -17,12 +17,12 @@ extern unsigned short JIS0212_to_Unicode[76][94]; jint gnu::gcj::convert::Input_SJIS::read(jcharArray outbuffer, jint outpos, - jint outlength) + jint count) { jint start_outpos = outpos; for (;;) { - if (outpos >= outlength) + if (outpos - start_outpos >= count) break; if (inpos >= inlength) break; |