Print number of lines and bytes written to file
This commit is contained in:
parent
68b2c7e0e7
commit
93719bf042
@ -119,8 +119,9 @@ void Buffer::load_text_in_buffer(uint8_t * buffer, size_t buffer_size, size_t da
|
|||||||
m_line_endings = text_loader.get_line_endings();
|
m_line_endings = text_loader.get_line_endings();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Buffer::write_to_file(const char * filename)
|
bool Buffer::write_to_file(const char * filename, size_t * n_lines, size_t * n_bytes)
|
||||||
{
|
{
|
||||||
|
size_t l_n_lines = 0;
|
||||||
File file;
|
File file;
|
||||||
if (!file.open(filename, true))
|
if (!file.open(filename, true))
|
||||||
{
|
{
|
||||||
@ -134,6 +135,7 @@ bool Buffer::write_to_file(const char * filename)
|
|||||||
|
|
||||||
while (start_of_line.valid())
|
while (start_of_line.valid())
|
||||||
{
|
{
|
||||||
|
l_n_lines++;
|
||||||
Iterator iterator = start_of_line;
|
Iterator iterator = start_of_line;
|
||||||
iterator.go_end_of_line(true);
|
iterator.go_end_of_line(true);
|
||||||
size_t len = iterator.address() - start_of_line.address();
|
size_t len = iterator.address() - start_of_line.address();
|
||||||
@ -161,6 +163,14 @@ bool Buffer::write_to_file(const char * filename)
|
|||||||
start_of_line = iterator;
|
start_of_line = iterator;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (n_lines != nullptr)
|
||||||
|
{
|
||||||
|
*n_lines = l_n_lines;
|
||||||
|
}
|
||||||
|
if (n_bytes != nullptr)
|
||||||
|
{
|
||||||
|
*n_bytes = bytes_written;
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,7 +156,7 @@ public:
|
|||||||
Buffer();
|
Buffer();
|
||||||
Buffer(const char * filename);
|
Buffer(const char * filename);
|
||||||
Buffer(const uint8_t * data, size_t data_length);
|
Buffer(const uint8_t * data, size_t data_length);
|
||||||
bool write_to_file(const char * filename);
|
bool write_to_file(const char * filename, size_t * n_lines, size_t * n_bytes);
|
||||||
|
|
||||||
std::shared_ptr<Iterator> add_iterator()
|
std::shared_ptr<Iterator> add_iterator()
|
||||||
{
|
{
|
||||||
|
@ -649,9 +649,14 @@ void Window::command_write_file(const CommandParser & cp)
|
|||||||
}
|
}
|
||||||
if (path != "")
|
if (path != "")
|
||||||
{
|
{
|
||||||
if (buffer->write_to_file(Path::clean(path).c_str()))
|
size_t n_lines;
|
||||||
|
size_t n_bytes;
|
||||||
|
if (buffer->write_to_file(Path::clean(path).c_str(), &n_lines, &n_bytes))
|
||||||
{
|
{
|
||||||
set_status("Wrote file");
|
char msg[100];
|
||||||
|
sprintf(msg, "Wrote file: %u lines, %u bytes",
|
||||||
|
(unsigned int)n_lines, (unsigned int)n_bytes);
|
||||||
|
set_status(msg);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user