From a297a9f711681ac823590eae9b0301ee89fd88ee Mon Sep 17 00:00:00 2001 From: OEOTYAN Date: Fri, 28 Jun 2024 03:52:34 +0800 Subject: [PATCH] refactor: refactoring search string --- src/pl/SymbolProvider.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/pl/SymbolProvider.cpp b/src/pl/SymbolProvider.cpp index 734d8b0..6b6066f 100644 --- a/src/pl/SymbolProvider.cpp +++ b/src/pl/SymbolProvider.cpp @@ -127,14 +127,12 @@ void initFunctionMap(std::string_view compressed) { rrva |= (uint32_t)(data[i] & 0x7F) << shift_amount; shift_amount += 7; } while ((data[i++] & 0x80) != 0); - rva += rrva; - - if (skipped) { - for (; data[i] != '\n'; i++) {} - continue; - } - std::string name; - for (; data[i] != '\n'; i++) { name += data[i]; } + rva += rrva; + auto begin = i; + i = data.find_first_of('\n', begin); + if (i == std::string::npos) { break; } + if (skipped) { continue; } + std::string name(data, begin, i - begin); if (!fromModule) { auto fake = pl::fake_symbol::getFakeSymbol(name); if (fake.has_value()) funcMap->emplace(fake.value(), rva);