diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2016-05-15 10:37:01 +0100 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2016-05-15 10:37:01 +0100 |
| commit | baf219ee2fc0ffaad73015c35d650a53b84294c5 (patch) | |
| tree | bca97a9ba33de3215a2657eac59ccc3aaec1622b /src/buffer_manager.cc | |
| parent | 1788126f385c0d656b6addb0731f6205cc4856e5 (diff) | |
Fix duplicate buffer problem, fix real_path beahviour
Diffstat (limited to 'src/buffer_manager.cc')
| -rw-r--r-- | src/buffer_manager.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/buffer_manager.cc b/src/buffer_manager.cc index 95a27df4..d6dc9ae0 100644 --- a/src/buffer_manager.cc +++ b/src/buffer_manager.cc @@ -25,9 +25,11 @@ BufferManager::~BufferManager() Buffer* BufferManager::create_buffer(String name, Buffer::Flags flags, StringView data, timespec fs_timestamp) { + auto path = real_path(parse_filename(name)); for (auto& buf : m_buffers) { - if (buf->name() == name) + if (buf->name() == name or + (buf->flags() & Buffer::Flags::File and buf->name() == path)) throw name_not_unique(); } |
