This commit is contained in:
Branimir Karadžić
2017-10-29 09:24:40 -07:00
parent 0294cb134c
commit 58c8c68062
3 changed files with 56 additions and 41 deletions

View File

@@ -20,6 +20,9 @@ namespace bx
///
WriterI* getStdErr();
///
WriterI* getNullOut();
///
class FileReader : public FileReaderI
{

View File

@@ -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);

View File

@@ -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;