From 58c8c68062b081a363631fce2de5a40dfebd57b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Sun, 29 Oct 2017 09:24:40 -0700 Subject: [PATCH] Cleanup. --- include/bx/file.h | 3 ++ src/crtnone.cpp | 4 +++ src/file.cpp | 90 ++++++++++++++++++++++++++--------------------- 3 files changed, 56 insertions(+), 41 deletions(-) diff --git a/include/bx/file.h b/include/bx/file.h index d0ea3ea..79ac24f 100644 --- a/include/bx/file.h +++ b/include/bx/file.h @@ -20,6 +20,9 @@ namespace bx /// WriterI* getStdErr(); + /// + WriterI* getNullOut(); + /// class FileReader : public FileReaderI { diff --git a/src/crtnone.cpp b/src/crtnone.cpp index 731126d..877dcd8 100644 --- a/src/crtnone.cpp +++ b/src/crtnone.cpp @@ -303,6 +303,10 @@ extern "C" int printf(const char* _format, ...) return -1; } +struct FILE +{ +}; + extern "C" int fprintf(FILE* _stream, const char* _format, ...) { BX_UNUSED(_stream, _format); diff --git a/src/file.cpp b/src/file.cpp index 3cd70e7..234e983 100644 --- a/src/file.cpp +++ b/src/file.cpp @@ -16,16 +16,51 @@ namespace bx { + class NoopWriterImpl : public FileWriterI + { + public: + NoopWriterImpl(void*) + { + } + + virtual ~NoopWriterImpl() + { + close(); + } + + virtual bool open(const FilePath& _filePath, bool _append, Error* _err) override + { + BX_UNUSED(_filePath, _append, _err); + return false; + } + + virtual void close() override + { + } + + virtual int64_t seek(int64_t _offset, Whence::Enum _whence) override + { + BX_UNUSED(_offset, _whence); + return 0; + } + + virtual int32_t write(const void* _data, int32_t _size, Error* _err) override + { + BX_UNUSED(_data, _size, _err); + return 0; + } + }; + #if BX_CONFIG_CRT_FILE_READER_WRITER # if BX_CRT_MSVC # define fseeko64 _fseeki64 # define ftello64 _ftelli64 -# elif 0 \ +# elif 0 \ || BX_PLATFORM_ANDROID \ - || BX_PLATFORM_BSD \ - || BX_PLATFORM_IOS \ - || BX_PLATFORM_OSX \ + || BX_PLATFORM_BSD \ + || BX_PLATFORM_IOS \ + || BX_PLATFORM_OSX \ || BX_PLATFORM_QNX # define fseeko64 fseeko # define ftello64 ftello @@ -34,7 +69,7 @@ namespace bx # define ftello64 ftell # endif // BX_ - class FileReaderImpl : public bx::FileReaderI + class FileReaderImpl : public FileReaderI { public: FileReaderImpl(FILE* _file) @@ -114,7 +149,7 @@ namespace bx bool m_open; }; - class FileWriterImpl : public bx::FileWriterI + class FileWriterImpl : public FileWriterI { public: FileWriterImpl(FILE* _file) @@ -189,7 +224,7 @@ namespace bx #else - class FileReaderImpl : public bx::FileReaderI + class FileReaderImpl : public FileReaderI { public: FileReaderImpl(void*) @@ -224,40 +259,7 @@ namespace bx } }; - class FileWriterImpl : public bx::FileWriterI - { - public: - FileWriterImpl(void*) - { - } - - virtual ~FileWriterImpl() - { - close(); - } - - virtual bool open(const FilePath& _filePath, bool _append, Error* _err) override - { - BX_UNUSED(_filePath, _append); - return false; - } - - virtual void close() override - { - } - - virtual int64_t seek(int64_t _offset, Whence::Enum _whence) override - { - BX_UNUSED(_offset, _whence); - return 0; - } - - virtual int32_t write(const void* _data, int32_t _size, Error* _err) override - { - BX_UNUSED(_data, _size, _err); - return 0; - } - }; + typedef NoopWriterImpl FileWriterImpl; #endif // BX_CONFIG_CRT_FILE_READER_WRITER @@ -351,6 +353,12 @@ namespace bx return &s_stdOut; } + WriterI* getNullOut() + { + static NoopWriterImpl s_nullOut(NULL); + return &s_nullOut; + } + bool stat(const char* _filePath, FileInfo& _fileInfo) { _fileInfo.m_size = 0;