diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2015-10-16 13:58:56 +0100 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2015-10-17 11:33:09 +0100 |
| commit | 76fadd81081d7bb762d143dfd2ecca73637328a7 (patch) | |
| tree | 8619b5d6b599abd7ef7471f5ee224d89eabbd6a1 /src/file.cc | |
| parent | fe704b9b8433145602b1ec63f030ea98b378811d (diff) | |
More cleanups in the buffer open/reload code
Diffstat (limited to 'src/file.cc')
| -rw-r--r-- | src/file.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/file.cc b/src/file.cc index c84a9217..ced88614 100644 --- a/src/file.cc +++ b/src/file.cc @@ -165,7 +165,7 @@ MappedFile::MappedFile(StringView filename) if (fd == -1) { if (errno == ENOENT) - return; + throw file_not_found{real_filename}; throw file_access_error(real_filename, strerror(errno)); } @@ -186,6 +186,13 @@ MappedFile::~MappedFile() } } +bool file_exists(StringView filename) +{ + String real_filename = real_path(parse_filename(filename)); + struct stat st; + return stat(real_filename.c_str(), &st) == 0; +} + static void write(int fd, StringView data) { const char* ptr = data.data(); |
