aboutsummaryrefslogtreecommitdiffstats
path: root/nihil.posix/open.ccm
diff options
context:
space:
mode:
Diffstat (limited to 'nihil.posix/open.ccm')
-rw-r--r--nihil.posix/open.ccm10
1 files changed, 5 insertions, 5 deletions
diff --git a/nihil.posix/open.ccm b/nihil.posix/open.ccm
index 59f80af..f2f5ecd 100644
--- a/nihil.posix/open.ccm
+++ b/nihil.posix/open.ccm
@@ -1,20 +1,20 @@
// This source code is released into the public domain.
module;
-#include <expected>
-#include <filesystem>
-
#include <fcntl.h>
#include <unistd.h>
export module nihil.posix:open;
+import nihil.std;
import nihil.error;
import nihil.flagset;
+import nihil.util;
import :fd;
namespace nihil {
+// Flags which can be passed to open().
struct open_flags_tag
{
};
@@ -70,7 +70,7 @@ export [[nodiscard]] auto open(std::filesystem::path const &filename, open_flags
if (fdno != -1)
return fd(fdno);
- return std::unexpected(error(std::errc(errno)));
+ return error(sys_error());
}
// Like open(), but resolve relative to an open file descriptor, which must refer to a directory.
@@ -81,7 +81,7 @@ export [[nodiscard]] auto openat(fd &where, std::filesystem::path const &filenam
if (fdno != -1)
return fd(fdno);
- return std::unexpected(error(std::errc(errno)));
+ return error(sys_error());
}
} // namespace nihil