Skip to content

Commit 0a463e4

Browse files
frsyukikomamitsu
authored andcommitted
simplified streaming string decoding code
1 parent 6a4e190 commit 0a463e4

File tree

1 file changed

+3
-23
lines changed

1 file changed

+3
-23
lines changed

msgpack-core/src/main/java/org/msgpack/core/MessageUnpacker.java

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -997,29 +997,9 @@ public String unpackString()
997997
while (readingRawRemaining > 0) {
998998
int bufferRemaining = buffer.size() - position;
999999
if (bufferRemaining >= readingRawRemaining) {
1000-
ByteBuffer bb = buffer.toByteBuffer(position, readingRawRemaining);
1001-
int bbStartPosition = bb.position();
1002-
decodeBuffer.clear();
1003-
1004-
CoderResult cr = decoder.decode(bb, decodeBuffer, true);
1005-
int readLen = bb.position() - bbStartPosition;
1006-
position += readLen;
1007-
readingRawRemaining -= readLen;
1008-
decodeStringBuffer.append(decodeBuffer.flip());
1009-
1010-
if (cr.isError()) {
1011-
handleCoderError(cr);
1012-
}
1013-
if (cr.isUnderflow() && config.actionOnMalFormedInput == CodingErrorAction.REPORT) {
1014-
throw new MalformedInputException(cr.length());
1015-
}
1016-
1017-
if (cr.isOverflow()) {
1018-
// go to next loop
1019-
}
1020-
else {
1021-
break;
1022-
}
1000+
decodeStringBuffer.append(decodeStringFastPath(readingRawRemaining));
1001+
readingRawRemaining = 0;
1002+
break;
10231003
}
10241004
else if (bufferRemaining == 0) {
10251005
nextBuffer();

0 commit comments

Comments
 (0)