Skip to content

Commit

Permalink
Make sure Entity reader is closed immediately
Browse files Browse the repository at this point in the history
Doesn't really mean much as this is just a string - but maybe a useful GC hint.
  • Loading branch information
jhy committed Jul 11, 2021
1 parent 607995d commit 2dc914f
Showing 1 changed file with 29 additions and 26 deletions.
55 changes: 29 additions & 26 deletions src/main/java/org/jsoup/nodes/Entities.java
Expand Up @@ -310,37 +310,40 @@ private static void load(EscapeMode e, String pointsData, int size) {

int i = 0;
CharacterReader reader = new CharacterReader(pointsData);
try {
while (!reader.isEmpty()) {
// NotNestedLessLess=10913,824;1887&

while (!reader.isEmpty()) {
// NotNestedLessLess=10913,824;1887&

final String name = reader.consumeTo('=');
reader.advance();
final int cp1 = Integer.parseInt(reader.consumeToAny(codeDelims), codepointRadix);
final char codeDelim = reader.current();
reader.advance();
final int cp2;
if (codeDelim == ',') {
cp2 = Integer.parseInt(reader.consumeTo(';'), codepointRadix);
final String name = reader.consumeTo('=');
reader.advance();
final int cp1 = Integer.parseInt(reader.consumeToAny(codeDelims), codepointRadix);
final char codeDelim = reader.current();
reader.advance();
final int cp2;
if (codeDelim == ',') {
cp2 = Integer.parseInt(reader.consumeTo(';'), codepointRadix);
reader.advance();
} else {
cp2 = empty;
}
final String indexS = reader.consumeTo('&');
final int index = Integer.parseInt(indexS, codepointRadix);
reader.advance();
} else {
cp2 = empty;
}
final String indexS = reader.consumeTo('&');
final int index = Integer.parseInt(indexS, codepointRadix);
reader.advance();

e.nameKeys[i] = name;
e.codeVals[i] = cp1;
e.codeKeys[index] = cp1;
e.nameVals[index] = name;
e.nameKeys[i] = name;
e.codeVals[i] = cp1;
e.codeKeys[index] = cp1;
e.nameVals[index] = name;

if (cp2 != empty) {
multipoints.put(name, new String(new int[]{cp1, cp2}, 0, 2));
if (cp2 != empty) {
multipoints.put(name, new String(new int[]{cp1, cp2}, 0, 2));
}
i++;
}
i++;
}

Validate.isTrue(i == size, "Unexpected count of entities loaded");
Validate.isTrue(i == size, "Unexpected count of entities loaded");
} finally {
reader.close();
}
}
}

0 comments on commit 2dc914f

Please sign in to comment.