Skip to content

Commit

Permalink
#77: JsonTokenizer.close() recycles its buffer for each call to close()
Browse files Browse the repository at this point in the history
Signed-off-by: Lukas Jungmann <lukas.jungmann@oracle.com>
  • Loading branch information
lukasj committed Jul 12, 2023
1 parent 82f3f1a commit 72f5e1b
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions impl/src/main/java/org/eclipse/parsson/JsonTokenizer.java
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ final class JsonTokenizer implements Closeable {
// offset in the stream for the start of the buffer, will be used in
// calculating JsonLocation's stream offset, column no.
private long bufferOffset = 0;
private boolean closed = false;

private boolean minus;
private boolean fracOrExp;
Expand Down Expand Up @@ -579,8 +580,11 @@ boolean isIntegral() {

@Override
public void close() throws IOException {
reader.close();
jsonContext.bufferPool().recycle(buf);
if (!closed) {
reader.close();
jsonContext.bufferPool().recycle(buf);
closed = true;
}
}

private JsonParsingException unexpectedChar(int ch) {
Expand Down

0 comments on commit 72f5e1b

Please sign in to comment.