diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2013-01-23 18:52:42 +0100 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2013-01-23 18:52:42 +0100 |
| commit | 410067282af52c8d6ba17dcf5d3f96d1c644c511 (patch) | |
| tree | d703cd014e915ac85a238f203b9f303e772399d2 /src/buffer_iterator.inl.hh | |
| parent | 72cc61c987d29eb4fc41db1c3e2f2c92f9b3ebac (diff) | |
Buffer: end is either one past last character, or one past last line
Diffstat (limited to 'src/buffer_iterator.inl.hh')
| -rw-r--r-- | src/buffer_iterator.inl.hh | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/buffer_iterator.inl.hh b/src/buffer_iterator.inl.hh index 201ea481..1e477561 100644 --- a/src/buffer_iterator.inl.hh +++ b/src/buffer_iterator.inl.hh @@ -116,8 +116,7 @@ inline char BufferIterator::operator*() const inline ByteCount BufferIterator::offset() const { assert(m_buffer); - return line() == 0 ? column() - : m_buffer->m_lines[line()].start + column(); + return m_buffer->m_lines[line()].start + column(); } inline size_t BufferIterator::operator-(const BufferIterator& iterator) const @@ -221,6 +220,11 @@ inline bool BufferIterator::is_begin() const inline bool BufferIterator::is_end() const { assert(m_buffer); + if (m_coord.line == m_buffer->line_count()) + { + assert(m_coord.column == 0); + return true; + } return offset() == m_buffer->character_count(); } |
