summaryrefslogtreecommitdiff
path: root/lib/filesystem.cpp
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2023-02-21 00:48:02 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2023-02-21 00:48:02 +0000
commite2dae4345b7cb9ec92e204a8bf2ab3dee8fcb9ac (patch)
treed60d3d93bc3f529a44576a6214f9a30778607a73 /lib/filesystem.cpp
parentAdd helper Selection to insert into a map based on a member value as key (diff)
downloadilt-e2dae4345b7cb9ec92e204a8bf2ab3dee8fcb9ac.tar.bz2
ilt-e2dae4345b7cb9ec92e204a8bf2ab3dee8fcb9ac.tar.xz
ilt-e2dae4345b7cb9ec92e204a8bf2ab3dee8fcb9ac.zip
Add checked_fopen wrapper and FileStar container
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);
+ }
}