summaryrefslogtreecommitdiff
path: root/lib/filesystem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/filesystem.cpp')
-rw-r--r--lib/filesystem.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/filesystem.cpp b/lib/filesystem.cpp
index 0e19e8d..7e8ab9c 100644
--- a/lib/filesystem.cpp
+++ b/lib/filesystem.cpp
@@ -62,4 +62,13 @@ namespace filesystem {
{
return memmap {length, prot, flags, h, static_cast<off_t>(offset)};
}
+
+ FILE *
+ checked_fopen(const char * pathname, const char * mode)
+ {
+ if (auto file = fopen(pathname, mode)) {
+ return file;
+ }
+ throw_filesystem_error("fopen", errno, pathname);
+ }
}