diff --git a/src/core/Buffer.cc b/src/core/Buffer.cc index f0fb65e..c01dc45 100644 --- a/src/core/Buffer.cc +++ b/src/core/Buffer.cc @@ -8,31 +8,36 @@ Buffer::Buffer() { - common_initialization(); load_empty_buffer(); + common_initialization(); } Buffer::Buffer(const char * filename) { - common_initialization(); if (!load_from_file(filename)) { load_empty_buffer(); } + common_initialization(); } Buffer::Buffer(const uint8_t * data, size_t data_length) { - common_initialization(); if (!load_from_memory(data, data_length)) { load_empty_buffer(); } + common_initialization(); } void Buffer::common_initialization() { m_tabstop = 4u; + m_eof_iterator = add_iterator(); + while (m_eof_iterator->valid()) + { + m_eof_iterator->go_forward(); + } } void Buffer::load_empty_buffer() diff --git a/src/core/Buffer.h b/src/core/Buffer.h index 74d7513..f1ac5d1 100644 --- a/src/core/Buffer.h +++ b/src/core/Buffer.h @@ -119,6 +119,7 @@ protected: bool m_insert_mode; size_t m_insert_position; std::list> m_iterators; + std::shared_ptr m_eof_iterator; std::string m_filename; void common_initialization();