From 3f51feaaef05a8c3a70bfb81c483f1ff7add396c Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Tue, 6 Sep 2011 18:33:18 +0000 Subject: [PATCH] Buffer: accept initial content in constructor --- src/buffer.cc | 6 ++++-- src/buffer.hh | 4 ++-- src/file.cc | 4 +--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/buffer.cc b/src/buffer.cc index b7034b5c..ef8e0e1e 100644 --- a/src/buffer.cc +++ b/src/buffer.cc @@ -118,9 +118,11 @@ bool BufferIterator::is_end() const return m_position == m_buffer->length(); } -Buffer::Buffer(const std::string& name) - : m_name(name) +Buffer::Buffer(const std::string& name, const BufferString& initial_content) + : m_name(name), m_history(1), m_history_cursor(m_history.begin()), + m_content(initial_content) { + compute_lines(); } void Buffer::erase(const BufferIterator& begin, const BufferIterator& end) diff --git a/src/buffer.hh b/src/buffer.hh index 66136f82..f1441747 100644 --- a/src/buffer.hh +++ b/src/buffer.hh @@ -65,7 +65,8 @@ private: class Buffer { public: - Buffer(const std::string& name); + Buffer(const std::string& name, + const BufferString& initial_content = ""); void erase(const BufferIterator& begin, const BufferIterator& end); @@ -78,7 +79,6 @@ public: BufferIterator begin() const; BufferIterator end() const; - BufferSize length() const; BufferIterator iterator_at(const BufferCoord& line_and_column) const; diff --git a/src/file.cc b/src/file.cc index f6fc1f24..bf3e31f2 100644 --- a/src/file.cc +++ b/src/file.cc @@ -32,9 +32,7 @@ Buffer* create_buffer_from_file(const std::string& filename) content += std::string(buf, size); } close(fd); - Buffer* buffer = new Buffer(filename); - buffer->insert(buffer->begin(), content); - return buffer; + return new Buffer(filename, content); } void write_buffer_to_file(const Buffer& buffer, const std::string& filename)