From 645840edc9a64128f2a4d79c4da6db00ce47cf0b Mon Sep 17 00:00:00 2001 From: Zufu Liu Date: Wed, 26 Sep 2018 08:56:24 +1000 Subject: Bug [#2046]. Optimize setting up representation. --- 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 ef26d236e..c5063ca10 100644 --- a/src/PositionCache.cxx +++ b/src/PositionCache.cxx @@ -494,13 +494,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