diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2015-04-20 13:55:42 +0100 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2015-04-20 13:55:42 +0100 |
| commit | d2e8bd2431e759727ee0b2bf3482a6d5d9ba9c19 (patch) | |
| tree | fc74b2a83079e280c08555e2d47b971f2dcfec6a /src/selectors.cc | |
| parent | ddd70fd09adc0c93205bd1b436daace101d773fc (diff) | |
Fix select_number crashing on empty buffers
Diffstat (limited to 'src/selectors.cc')
| -rw-r--r-- | src/selectors.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/selectors.cc b/src/selectors.cc index 526baf53..80a8c118 100644 --- a/src/selectors.cc +++ b/src/selectors.cc @@ -229,13 +229,15 @@ Selection select_number(const Buffer& buffer, const Selection& selection, Object }; BufferIterator first = buffer.iterator_at(selection.cursor()); + BufferIterator last = first; if (flags & ObjectFlags::ToBegin) { skip_while_reverse(first, buffer.begin(), is_number); - if (not is_number(*first) and *first != '-') + if (not is_number(*first) and *first != '-' and + first+1 != buffer.end()) ++first; } - BufferIterator last = buffer.iterator_at(selection.cursor()); + if (flags & ObjectFlags::ToEnd) { skip_while(last, buffer.end(), is_number); |
