diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2012-08-28 21:46:49 +0200 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2012-08-28 21:46:49 +0200 |
| commit | 4cdddb7e6d100f51fee497a040ad72f4db0cc40b (patch) | |
| tree | e0fee0635908760e641fbda039ad167d037e6f94 /src | |
| parent | 217b3d2bce272255ebc80606aeb23afac221d18e (diff) | |
BufferManager: protect complete_buffername from regex_error
Diffstat (limited to 'src')
| -rw-r--r-- | src/buffer_manager.cc | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/buffer_manager.cc b/src/buffer_manager.cc index 5a1f63da..70ecfba7 100644 --- a/src/buffer_manager.cc +++ b/src/buffer_manager.cc @@ -66,13 +66,17 @@ CandidateList BufferManager::complete_buffername(const String& prefix, // no prefix completion found, check regex matching if (result.empty()) { - Regex ex(real_prefix.begin(), real_prefix.end()); - for (auto& buffer : m_buffers) + try { - const String& name = buffer->name(); - if (boost::regex_search(name.begin(), name.end(), ex)) - result.push_back(name); + Regex ex(real_prefix.begin(), real_prefix.end()); + for (auto& buffer : m_buffers) + { + const String& name = buffer->name(); + if (boost::regex_search(name.begin(), name.end(), ex)) + result.push_back(name); + } } + catch (boost::regex_error& err) {} } return result; } |
