diff --git a/src/core/File.cc b/src/core/File.cc index 3b391cb..386a264 100644 --- a/src/core/File.cc +++ b/src/core/File.cc @@ -19,8 +19,16 @@ */ bool File::open(const char * filename, bool writing) { - int flags = (writing ? 0 : O_RDONLY) | JES_O_BINARY; - int fd = ::open(filename, flags); + int fd; + if (writing) + { + /* TODO: handle mode */ + fd = ::open(filename, O_WRONLY | O_CREAT | O_TRUNC | JES_O_BINARY, 0644); + } + else + { + fd = ::open(filename, O_RDONLY | JES_O_BINARY); + } if (fd < 0) { return false;