diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2012-10-16 14:59:39 +0200 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2012-10-16 14:59:39 +0200 |
| commit | 6ff6058cebd1e501207c9b3b43ee5e4d0fd4d218 (patch) | |
| tree | 471e3d8d02a6c2705edc809494ad638d1612d14f /src | |
| parent | 4be6882bd55a8042adf062cfad3c7c50e7b60e0b (diff) | |
create_buffer_from file return nullptr on file not found instead of throwing
Diffstat (limited to 'src')
| -rw-r--r-- | src/commands.cc | 8 | ||||
| -rw-r--r-- | src/file.cc | 2 |
2 files changed, 3 insertions, 7 deletions
diff --git a/src/commands.cc b/src/commands.cc index 97db7e5f..81fb5fb1 100644 --- a/src/commands.cc +++ b/src/commands.cc @@ -216,12 +216,8 @@ private: Buffer* open_or_create(const String& filename, Context& context) { - Buffer* buffer = NULL; - try - { - buffer = create_buffer_from_file(filename); - } - catch (file_not_found& what) + Buffer* buffer = create_buffer_from_file(filename); + if (not buffer) { context.print_status("new file " + filename); buffer = new Buffer(filename, Buffer::Type::NewFile); diff --git a/src/file.cc b/src/file.cc index b05b5782..ad98e613 100644 --- a/src/file.cc +++ b/src/file.cc @@ -76,7 +76,7 @@ Buffer* create_buffer_from_file(const String& filename) if (fd == -1) { if (errno == ENOENT) - throw file_not_found(filename); + return nullptr; throw file_access_error(filename, strerror(errno)); } |
