From 9fc5e42cfe376df1d0797cc2fe86a1d3c9c9505e Mon Sep 17 00:00:00 2001 From: gojomo Date: Fri, 23 Apr 2010 22:57:50 +0000 Subject: [PATCH] Fix failing test * InMemoryReplayCharSequence.java ensure redecode after problem restarts at right position --- .../main/java/org/archive/io/InMemoryReplayCharSequence.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/commons/src/main/java/org/archive/io/InMemoryReplayCharSequence.java b/commons/src/main/java/org/archive/io/InMemoryReplayCharSequence.java index dc6c5ce0..67e8af14 100644 --- a/commons/src/main/java/org/archive/io/InMemoryReplayCharSequence.java +++ b/commons/src/main/java/org/archive/io/InMemoryReplayCharSequence.java @@ -87,6 +87,7 @@ public class InMemoryReplayCharSequence implements ReplayCharSequence { ByteBuffer bb = ByteBuffer.wrap(buffer); // Move past the HTTP header if present. bb.position((int) responseBodyStart); + bb.mark(); // Set the end-of-buffer to be end-of-content. bb.limit((int) size); Charset charset; @@ -103,6 +104,7 @@ public class InMemoryReplayCharSequence implements ReplayCharSequence { .onUnmappableCharacter(CodingErrorAction.REPORT) .decode(bb).asReadOnlyBuffer(); } catch (CharacterCodingException cce) { + bb.reset(); decodingExceptionsCount++; return charset.decode(bb).asReadOnlyBuffer(); }