summaryrefslogtreecommitdiff
path: root/src/display_buffer.cc
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2012-07-03 21:12:05 +0200
committerMaxime Coste <frrrwww@gmail.com>2012-07-03 21:12:05 +0200
commitd092afead9ebd97c2274719730c6f2b5246a6087 (patch)
treefb2f1833da960cd3cf538a9784685183cc315de7 /src/display_buffer.cc
parentd7e1cab11679cd983359b22c3b29188264d44ceb (diff)
make DisplayBuffer::atom_containing easier to understand
Diffstat (limited to 'src/display_buffer.cc')
-rw-r--r--src/display_buffer.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/display_buffer.cc b/src/display_buffer.cc
index 3926e227..11913e76 100644
--- a/src/display_buffer.cc
+++ b/src/display_buffer.cc
@@ -110,12 +110,16 @@ DisplayBuffer::iterator DisplayBuffer::atom_containing(const BufferIterator& whe
DisplayBuffer::iterator DisplayBuffer::atom_containing(const BufferIterator& where,
iterator start)
{
- if (where < start->begin())
+ if (start == end() or where < start->begin())
return end();
- return std::upper_bound(start, end(), where,
- [](const BufferIterator& where, const DisplayAtom& atom)
- { return where < atom.end(); });
+ while (start != end())
+ {
+ if (start->end() > where)
+ break;
+ ++start;
+ }
+ return start;
}
DisplayBuffer::iterator DisplayBuffer::split(iterator atom, const BufferIterator& pos)