Changeset 15387
- Timestamp:
- 10/01/20 22:29:11 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/util/RandomAccessCharacterFile.java
r15359 r15387 49 49 import java.nio.charset.CharsetDecoder; 50 50 import java.nio.charset.CharsetEncoder; 51 import java.nio.charset.CoderMalfunctionError; 51 52 import java.nio.charset.CoderResult; 52 53 import java.nio.charset.CodingErrorAction; … … 387 388 final int read(char[] cb, int off, int len) throws IOException { 388 389 CharBuffer cbuf = CharBuffer.wrap(cb, off, len); 390 cdec.reset(); 389 391 boolean decodeWasUnderflow = false; 390 392 boolean atEof = false; … … 392 394 int oldRemaining = cbuf.remaining(); 393 395 atEof = ! ensureReadBbuf(decodeWasUnderflow); 394 CoderResult r = cdec.decode(bbuf, cbuf, atEof ); 396 CoderResult r; 397 try { 398 r = cdec.decode(bbuf, cbuf, atEof ); 399 } catch (IllegalStateException e) { 400 throw new IOException("CharsetDecoder failed", e); 401 } catch (CoderMalfunctionError e) { 402 throw new IOException("CharsetDecoder malfunction", e); 403 } 404 395 405 if (oldRemaining == cbuf.remaining() 396 406 && CoderResult.OVERFLOW == r) {
Note: See TracChangeset
for help on using the changeset viewer.