From baf219ee2fc0ffaad73015c35d650a53b84294c5 Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Sun, 15 May 2016 10:37:01 +0100 Subject: Fix duplicate buffer problem, fix real_path beahviour --- src/buffer_manager.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/buffer_manager.cc') 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(); } -- cgit v1.2.3