Improved reader/writer error handling.

This commit is contained in:
Branimir Karadžić 2016-01-31 16:00:02 -08:00
parent d53b27d353
commit 016bfc4290
11 changed files with 63 additions and 52 deletions
examples/common

View file

@ -24,7 +24,7 @@ namespace stl = tinystl;
void* load(bx::FileReaderI* _reader, bx::AllocatorI* _allocator, const char* _filePath, uint32_t* _size)
{
if (0 == bx::open(_reader, _filePath) )
if (bx::open(_reader, _filePath) )
{
uint32_t size = (uint32_t)bx::getSize(_reader);
void* data = BX_ALLOC(_allocator, size);
@ -45,6 +45,7 @@ void* load(bx::FileReaderI* _reader, bx::AllocatorI* _allocator, const char* _fi
{
*_size = 0;
}
return NULL;
}
@ -60,7 +61,7 @@ void unload(void* _ptr)
static const bgfx::Memory* loadMem(bx::FileReaderI* _reader, const char* _filePath)
{
if (0 == bx::open(_reader, _filePath) )
if (bx::open(_reader, _filePath) )
{
uint32_t size = (uint32_t)bx::getSize(_reader);
const bgfx::Memory* mem = bgfx::alloc(size+1);
@ -76,7 +77,7 @@ static const bgfx::Memory* loadMem(bx::FileReaderI* _reader, const char* _filePa
static void* loadMem(bx::FileReaderI* _reader, bx::AllocatorI* _allocator, const char* _filePath, uint32_t* _size)
{
if (0 == bx::open(_reader, _filePath) )
if (bx::open(_reader, _filePath) )
{
uint32_t size = (uint32_t)bx::getSize(_reader);
void* data = BX_ALLOC(_allocator, size);
@ -596,10 +597,14 @@ Mesh* meshLoad(bx::ReaderSeekerI* _reader)
Mesh* meshLoad(const char* _filePath)
{
bx::FileReaderI* reader = entry::getFileReader();
bx::open(reader, _filePath);
Mesh* mesh = meshLoad(reader);
bx::close(reader);
return mesh;
if (bx::open(reader, _filePath) )
{
Mesh* mesh = meshLoad(reader);
bx::close(reader);
return mesh;
}
return NULL;
}
void meshUnload(Mesh* _mesh)