Rework ensure_all_buffers_are_saved to remove an unneeded Vector
This commit is contained in:
parent
1ccccbce04
commit
b884b499dd
|
@ -365,24 +365,23 @@ const CommandDesc write_all_cmd = {
|
||||||
|
|
||||||
static void ensure_all_buffers_are_saved()
|
static void ensure_all_buffers_are_saved()
|
||||||
{
|
{
|
||||||
Vector<String> names;
|
auto is_modified = [](const std::unique_ptr<Buffer>& buf) {
|
||||||
for (auto& buffer : BufferManager::instance())
|
return (buf->flags() & Buffer::Flags::File) and buf->is_modified();
|
||||||
{
|
};
|
||||||
if ((buffer->flags() & Buffer::Flags::File) and buffer->is_modified())
|
|
||||||
names.push_back(buffer->name());
|
auto it = find_if(BufferManager::instance(), is_modified);
|
||||||
}
|
const auto end = BufferManager::instance().end();
|
||||||
if (not names.empty())
|
if (it == end)
|
||||||
{
|
return;
|
||||||
|
|
||||||
String message = "modified buffers remaining: [";
|
String message = "modified buffers remaining: [";
|
||||||
for (auto it = names.begin(); it != names.end(); ++it)
|
while (it != end)
|
||||||
{
|
{
|
||||||
if (it != names.begin())
|
message += (*it)->name();
|
||||||
message += ", ";
|
it = std::find_if(it+1, end, is_modified);
|
||||||
message += *it;
|
message += (it != end) ? ", " : "]";
|
||||||
}
|
}
|
||||||
message += "]";
|
|
||||||
throw runtime_error(message);
|
throw runtime_error(message);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const CommandDesc kill_cmd = {
|
const CommandDesc kill_cmd = {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user