diff --git a/include/rapidjson/pointer.h b/include/rapidjson/pointer.h index 84fa20458..e7f9be943 100644 --- a/include/rapidjson/pointer.h +++ b/include/rapidjson/pointer.h @@ -373,15 +373,16 @@ class GenericPointer { if (!rCount) return false; - if (tokens_[i].index != rhs.tokens_[i].index) - return tokens_[i].index < rhs.tokens_[i].index; + const Token &lTokens = tokens_[i], &rTokens = rhs.tokens_[i]; + if (lTokens.index != rTokens.index) + return lTokens.index < rTokens.index; - if (tokens_[i].length > rhs.tokens_[i].length) - return std::memcmp(tokens_[i].name, rhs.tokens_[i].name, sizeof(Ch) * rhs.tokens_[i].length) < 0; + if (lTokens.length > rTokens.length) + return std::memcmp(lTokens.name, rTokens.name, sizeof(Ch) * rTokens.length) < 0; - int cmp = std::memcmp(tokens_[i].name, rhs.tokens_[i].name, sizeof(Ch) * tokens_[i].length); - if (cmp || tokens_[i].length != rhs.tokens_[i].length) - return cmp <= 0; + int comp = std::memcmp(lTokens.name, rTokens.name, sizeof(Ch) * lTokens.length); + if (comp || lTokens.length != rTokens.length) + return comp <= 0; lCount--; rCount--; diff --git a/test/unittest/pointertest.cpp b/test/unittest/pointertest.cpp index 0c1d1ca81..ddc45c1b0 100644 --- a/test/unittest/pointertest.cpp +++ b/test/unittest/pointertest.cpp @@ -1538,13 +1538,13 @@ TEST(Pointer, LessThan) { { "/e/f~~g", false } }; MemoryPoolAllocator<> allocator; - typedef GenericPointer > PooledPointer; - typedef std::multiset PointerSet; + typedef GenericPointer > PointerType; + typedef std::multiset PointerSet; PointerSet set; size_t i; for (i = 0; i < sizeof(pointers) / sizeof(*pointers); ++i) { - set.insert(PooledPointer(pointers[i], &allocator)); + set.insert(PointerType(pointers[i], &allocator)); } i = 0;