summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2015-04-20 13:55:42 +0100
committerMaxime Coste <frrrwww@gmail.com>2015-04-20 13:55:42 +0100
commitd2e8bd2431e759727ee0b2bf3482a6d5d9ba9c19 (patch)
treefc74b2a83079e280c08555e2d47b971f2dcfec6a /src
parentddd70fd09adc0c93205bd1b436daace101d773fc (diff)
Fix select_number crashing on empty buffers
Diffstat (limited to 'src')
-rw-r--r--src/selectors.cc6
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);