diff options
author | Benji Dial <benji@benjidial.net> | 2024-07-27 16:57:39 -0400 |
---|---|---|
committer | Benji Dial <benji@benjidial.net> | 2024-07-27 16:57:39 -0400 |
commit | fbfc078e9f44c1c1e95c9c484f1d5650bcf631b7 (patch) | |
tree | cab539c8cbbac81d895b6f8be695f3f53bf8f4d5 /euler/source/io/fopen.cpp | |
parent | 9af5588c30c4126a2800aae1afcb0de2c373dc6c (diff) | |
download | hilbert-os-fbfc078e9f44c1c1e95c9c484f1d5650bcf631b7.tar.gz |
lots and lots of userspace stuff
Diffstat (limited to 'euler/source/io/fopen.cpp')
-rw-r--r-- | euler/source/io/fopen.cpp | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/euler/source/io/fopen.cpp b/euler/source/io/fopen.cpp deleted file mode 100644 index 8d47bf0..0000000 --- a/euler/source/io/fopen.cpp +++ /dev/null @@ -1,54 +0,0 @@ -#include <stdint.h> -#include <cstring> -#include <cstdio> - -namespace std { - - FILE *fopen(const char *filename, const char *mode) { - - bool read = false; - bool write = false; - bool append = false; - bool extended = false; - bool create = false; - - for (const char *p = mode; *p; ++p) - switch (*p) { - case 'r': - read = true; - continue; - case 'w': - write = true; - continue; - case 'a': - append = true; - continue; - case '+': - extended = true; - continue; - case 'x': - create = true; - continue; - default: - continue; - } - - __euler_stream_handle handle; - __euler_stream_result res = __euler_open_file( - filename, strlen(filename), handle, write || append, create); - - if (res != __EULER_SR_SUCCESS) - return 0; - - euler::file_stream *f = new euler::file_stream(handle, read || extended, - write || extended, write && !append, append); - - if (f->good) - return f; - - delete f; - return 0; - - } - -} |