diff options
| author | Maxime Coste <mawww@kakoune.org> | 2017-10-03 18:23:31 +0800 |
|---|---|---|
| committer | Maxime Coste <mawww@kakoune.org> | 2017-11-01 14:05:14 +0800 |
| commit | 119bc38254cbae9a75591d95b80cabc8f343c7ea (patch) | |
| tree | b0bfbd2e947a4e662158c1c98fdbdff334819459 /src | |
| parent | 9fbafba4cb528d73642bf5eb9039f4a69674ac8c (diff) | |
Regex: small refactor of ThreadedRegexVM::clone_saves
Diffstat (limited to 'src')
| -rw-r--r-- | src/regex_impl.hh | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/regex_impl.hh b/src/regex_impl.hh index b30b9735..0e992aed 100644 --- a/src/regex_impl.hh +++ b/src/regex_impl.hh @@ -76,21 +76,17 @@ struct ThreadedRegexVM Saves* clone_saves(Saves* saves) { - Saves* res = nullptr; if (not m_free_saves.empty()) { - res = m_free_saves.back(); + Saves* res = m_free_saves.back(); m_free_saves.pop_back(); - } - else - { - m_saves.push_back(std::make_unique<Saves>()); - res = m_saves.back().get(); + res->refcount = 1; + res->pos = saves->pos; + return res; } - res->refcount = 1; - res->pos = saves->pos; - return res; + m_saves.push_back(std::make_unique<Saves>(Saves{1, saves->pos})); + return m_saves.back().get(); } struct Thread |
