diff --git a/libaegisub/common/thesaurus.cpp b/libaegisub/common/thesaurus.cpp index 7436e217831e4b1001dd61ad1a9adb2ca8107a91..fd006cd2842c2abebd67c54f5bec315f4bd63995 100644 --- a/libaegisub/common/thesaurus.cpp +++ b/libaegisub/common/thesaurus.cpp @@ -43,10 +43,9 @@ Thesaurus::Thesaurus(agi::fs::path const& dat_path, agi::fs::path const& idx_pat // Read the list of words and file offsets for those words for (auto const& line : line_iterator<std::string>(idx, encoding_name)) { - std::vector<std::string> chunks; - boost::split(chunks, line, [](char c) { return c == '|'; }); - if (chunks.size() == 2) - offsets[chunks[0]] = static_cast<size_t>(atoi(chunks[1].c_str())); + auto pos = line.find('|'); + if (pos != line.npos && line.find('|', pos + 1) == line.npos) + offsets[line.substr(0, pos)] = static_cast<size_t>(atoi(line.c_str() + pos + 1)); } }