Skip to content

Commit faaeffa

Browse files
committed
speed
1 parent 109cd14 commit faaeffa

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

src/main/org/bson/BSONDecoder.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ private int _decode( Input in , BSONCallback callback )
5858

5959
final int len = _in.readInt();
6060
_in._max = len;
61-
61+
6262
_callback.objectStart();
6363
while ( decodeElement() );
6464
_callback.objectDone();
@@ -428,10 +428,16 @@ String readCStr()
428428
String readUTF8String()
429429
throws IOException {
430430
int size = readInt();
431-
if ( size < 0 || size > ( 3 * 1024 * 1024 ) )
431+
if ( size <= 0 || size > ( 3 * 1024 * 1024 ) )
432432
throw new RuntimeException( "bad string size: " + size );
433433

434434
if ( size < _inputBuffer.length / 2 ){
435+
if ( size == 1 ){
436+
_read++;
437+
_pos++;
438+
return "";
439+
}
440+
435441
return new String( _inputBuffer , _need(size) , size - 1 , "UTF-8" );
436442
}
437443

0 commit comments

Comments
 (0)