summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2017-10-03 18:23:31 +0800
committerMaxime Coste <mawww@kakoune.org>2017-11-01 14:05:14 +0800
commit119bc38254cbae9a75591d95b80cabc8f343c7ea (patch)
treeb0bfbd2e947a4e662158c1c98fdbdff334819459 /src
parent9fbafba4cb528d73642bf5eb9039f4a69674ac8c (diff)
Regex: small refactor of ThreadedRegexVM::clone_saves
Diffstat (limited to 'src')
-rw-r--r--src/regex_impl.hh16
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