From 287285fa7def8bef54885d596b4cbef234d3f34a Mon Sep 17 00:00:00 2001 From: Zufu Liu Date: Wed, 26 Sep 2018 08:56:24 +1000 Subject: Backport: Bug [#2046]. Optimize setting up representation. Backport of changeset 7096:60dee13d68b2. --- src/PositionCache.cxx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/PositionCache.cxx b/src/PositionCache.cxx index ec8de83ba..e27699bfe 100644 --- a/src/PositionCache.cxx +++ b/src/PositionCache.cxx @@ -386,13 +386,14 @@ SpecialRepresentations::SpecialRepresentations() { } void SpecialRepresentations::SetRepresentation(const char *charBytes, const char *value) { - MapRepresentation::iterator it = mapReprs.find(KeyFromString(charBytes, UTF8MaxBytes)); + const unsigned int key = KeyFromString(charBytes, UTF8MaxBytes); + MapRepresentation::iterator it = mapReprs.find(key); if (it == mapReprs.end()) { // New entry so increment for first byte const unsigned char ucStart = charBytes[0]; startByteHasReprs[ucStart]++; } - mapReprs[KeyFromString(charBytes, UTF8MaxBytes)] = Representation(value); + mapReprs[key] = Representation(value); } void SpecialRepresentations::ClearRepresentation(const char *charBytes) { -- cgit v1.2.3