diff --git a/src/core/Buffer.cc b/src/core/Buffer.cc index 9e70d9a..8de261e 100644 --- a/src/core/Buffer.cc +++ b/src/core/Buffer.cc @@ -88,8 +88,7 @@ bool Buffer::write_to_file(const char * filename) bytes_written += pd->length; if (pd->eol()) { - if (!file.write(LineEndings::spans[m_line_endings].start, - LineEndings::spans[m_line_endings].length)) + if (!file.write(LineEndings::spans[m_line_endings])) { return false; } @@ -99,8 +98,7 @@ bool Buffer::write_to_file(const char * filename) if (m_eol_at_eof && bytes_written > 0u) { - if (!file.write(LineEndings::spans[m_line_endings].start, - LineEndings::spans[m_line_endings].length)) + if (!file.write(LineEndings::spans[m_line_endings])) { return false; } diff --git a/src/core/File.h b/src/core/File.h index e94291b..0958c70 100644 --- a/src/core/File.h +++ b/src/core/File.h @@ -3,6 +3,7 @@ #include #include +#include "Span.h" class File { @@ -14,6 +15,10 @@ public: size_t get_size(); bool read(uint8_t * buf, size_t size); bool write(const uint8_t * buf, size_t size); + bool write(const Span & span) + { + return write(span.start, span.length); + } protected: int m_fd;