| @@ -7,13 +7,8 @@ | |||
| using namespace dds; | |||
| std::fstream dds::open(const fs::path& filepath, std::ios::openmode mode, std::error_code& ec) { | |||
| std::fstream ret; | |||
| auto mask = ret.exceptions() | std::ios::badbit; | |||
| ret.exceptions(mask); | |||
| try { | |||
| ret.open(filepath.string(), mode); | |||
| } catch (const std::ios::failure&) { | |||
| std::fstream ret{filepath, mode}; | |||
| if (!ret) { | |||
| ec = std::error_code(errno, std::system_category()); | |||
| } | |||
| return ret; | |||