Skip to content

Commit 78d096a

Browse files
committed
One lgtm.com suggestion
1 parent 49223ee commit 78d096a

File tree

3 files changed

+26
-18
lines changed

3 files changed

+26
-18
lines changed

smile/src/main/java/com/fasterxml/jackson/dataformat/smile/SmileParser.java

+9-9
Original file line numberDiff line numberDiff line change
@@ -1516,14 +1516,14 @@ private final String _decodeLongUnicodeName(int[] quads, int byteLen, int quadLe
15161516
{
15171517
int lastQuadBytes = byteLen & 3;
15181518
// Ok: must decode UTF-8 chars. No other validation SHOULD be needed (except bounds checks?)
1519-
/* Note: last quad is not correctly aligned (leading zero bytes instead
1520-
* need to shift a bit, instead of trailing). Only need to shift it
1521-
* for UTF-8 decoding; need revert for storage (since key will not
1522-
* be aligned, to optimize lookup speed)
1523-
*/
1519+
1520+
// Note: last quad is not correctly aligned (leading zero bytes instead
1521+
// need to shift a bit, instead of trailing). Only need to shift it
1522+
// for UTF-8 decoding; need revert for storage (since key will not
1523+
// be aligned, to optimize lookup speed)
1524+
//
15241525
int lastQuad;
1525-
1526-
if (lastQuadBytes < 4) {
1526+
if (lastQuadBytes > 0) {
15271527
lastQuad = quads[quadLen-1];
15281528
// 8/16/24 bit left shift
15291529
quads[quadLen-1] = (lastQuad << ((4 - lastQuadBytes) << 3));
@@ -1574,7 +1574,7 @@ private final String _decodeLongUnicodeName(int[] quads, int byteLen, int quadLe
15741574
byteIx = (ix & 3);
15751575
ch2 = (ch2 >> ((3 - byteIx) << 3));
15761576
++ix;
1577-
1577+
15781578
if ((ch2 & 0xC0) != 0x080) {
15791579
_reportInvalidOther(ch2);
15801580
}
@@ -1608,7 +1608,7 @@ private final String _decodeLongUnicodeName(int[] quads, int byteLen, int quadLe
16081608
// Ok. Now we have the character array, and can construct the String
16091609
String baseName = new String(cbuf, 0, cix);
16101610
// And finally, un-align if necessary
1611-
if (lastQuadBytes < 4) {
1611+
if (lastQuadBytes > 0) {
16121612
quads[quadLen-1] = lastQuad;
16131613
}
16141614
return _symbols.addName(baseName, quads, quadLen);

smile/src/test/java/com/fasterxml/jackson/dataformat/smile/gen/TestGeneratorSymbols.java

+15-7
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,21 @@ public void testSharedNameSimple() throws Exception
3333

3434
// same as above, but with name >= 64 characters
3535
public void testSharedNameSimpleLong() throws Exception
36+
{
37+
_testSharedNameSimpleLong("ABCD");
38+
_testSharedNameSimpleLong("ABCY");
39+
_testSharedNameSimpleLong("XBCD");
40+
_testSharedNameSimpleLong("ACCD");
41+
}
42+
43+
private void _testSharedNameSimpleLong(String suffix) throws Exception
3644
{
3745
String digits = "01234567899";
3846

3947
// Base is 76 chars; loop over couple of shorter ones too
4048

41-
final String LONG_NAME = "a"+digits+"b"+digits+"c"+digits+"d"+digits+"e"+digits+"f"+digits+"ABCD";
42-
49+
final String LONG_NAME = "a"+digits+"b"+digits+"c"+digits+"d"+digits+"e"+digits+"f"+digits+suffix;
50+
4351
for (int i = 0; i < 4; ++i) {
4452
int strLen = LONG_NAME.length() - i;
4553
String field = LONG_NAME.substring(0, strLen);
@@ -64,14 +72,14 @@ public void testSharedNameSimpleLong() throws Exception
6472

6573
assertToken(JsonToken.START_OBJECT, parser.nextToken());
6674
assertToken(JsonToken.FIELD_NAME, parser.nextToken());
67-
assertEquals(field, parser.getCurrentName());
75+
assertEquals(field, parser.currentName());
6876
assertToken(JsonToken.VALUE_NUMBER_INT, parser.nextToken());
6977
assertEquals(1, parser.getIntValue());
7078
assertToken(JsonToken.END_OBJECT, parser.nextToken());
7179

7280
assertToken(JsonToken.START_OBJECT, parser.nextToken());
7381
assertToken(JsonToken.FIELD_NAME, parser.nextToken());
74-
assertEquals(field, parser.getCurrentName());
82+
assertEquals(field, parser.currentName());
7583
assertToken(JsonToken.VALUE_NUMBER_INT, parser.nextToken());
7684
assertEquals(2, parser.getIntValue());
7785
assertToken(JsonToken.END_OBJECT, parser.nextToken());
@@ -217,13 +225,13 @@ public void _testLongNames(boolean shareNames) throws Exception
217225
gen.close();
218226

219227
JsonParser parser = factory.createParser(os.toByteArray());
220-
assertNull(parser.getCurrentToken());
228+
assertNull(parser.currentToken());
221229
assertToken(JsonToken.START_OBJECT, parser.nextToken());
222230
assertToken(JsonToken.FIELD_NAME, parser.nextToken());
223-
assertEquals("query", parser.getCurrentName());
231+
assertEquals("query", parser.currentName());
224232
assertToken(JsonToken.START_OBJECT, parser.nextToken());
225233
assertToken(JsonToken.FIELD_NAME, parser.nextToken());
226-
assertEquals(FIELD_NAME, parser.getCurrentName());
234+
assertEquals(FIELD_NAME, parser.currentName());
227235
assertToken(JsonToken.VALUE_STRING, parser.nextToken());
228236
assertEquals(VALUE, parser.getText());
229237
assertToken(JsonToken.END_OBJECT, parser.nextToken());

smile/src/test/java/com/fasterxml/jackson/dataformat/smile/parse/TestParserNames.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public void testLongNames() throws IOException
1313
{
1414
_testWithName(generateName(5000));
1515
}
16-
16+
1717
public void testJsonBinForLargeObjects() throws Exception
1818
{
1919
StringBuilder nameBuf = new StringBuilder("longString");
@@ -30,7 +30,7 @@ public void testJsonBinForLargeObjects() throws Exception
3030
/* Helper methods
3131
/**********************************************************
3232
*/
33-
33+
3434
private void _testWithName(String name) throws IOException
3535
{
3636
byte[] data = _smileDoc("{"+quote(name)+":13}");

0 commit comments

Comments
 (0)