mirror of
https://github.com/bkaradzic/bx.git
synced 2026-02-17 12:42:34 +01:00
Cleanup.
This commit is contained in:
@@ -8,33 +8,12 @@
|
||||
#include <bx/file.h>
|
||||
#include <bx/string.h>
|
||||
|
||||
bx::DefaultAllocator g_allocator;
|
||||
|
||||
struct TinyStlAllocator
|
||||
{
|
||||
static void* static_allocate(size_t _bytes)
|
||||
{
|
||||
return BX_ALLOC(&g_allocator, _bytes);
|
||||
}
|
||||
|
||||
static void static_deallocate(void* _ptr, size_t /*_bytes*/)
|
||||
{
|
||||
if (NULL != _ptr)
|
||||
{
|
||||
BX_FREE(&g_allocator, _ptr);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
#define TINYSTL_ALLOCATOR TinyStlAllocator
|
||||
#include <tinystl/vector.h>
|
||||
namespace stl = tinystl;
|
||||
|
||||
class Bin2cWriter : public bx::WriterI
|
||||
{
|
||||
public:
|
||||
Bin2cWriter(bx::WriterI* _writer, const bx::StringView& _name)
|
||||
: m_writer(_writer)
|
||||
Bin2cWriter(bx::AllocatorI* _allocator, const bx::StringView& _name)
|
||||
: m_mb(_allocator)
|
||||
, m_mw(&m_mb)
|
||||
, m_name(_name)
|
||||
{
|
||||
}
|
||||
@@ -43,20 +22,18 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
virtual int32_t write(const void* _data, int32_t _size, bx::Error* /*_err*/ = NULL) override
|
||||
virtual int32_t write(const void* _data, int32_t _size, bx::Error* _err) override
|
||||
{
|
||||
const char* data = (const char*)_data;
|
||||
m_buffer.insert(m_buffer.end(), data, data+_size);
|
||||
return _size;
|
||||
return bx::write(&m_mw, _data, _size, _err);
|
||||
}
|
||||
|
||||
void finish()
|
||||
void output(bx::WriterI* m_writer)
|
||||
{
|
||||
#define HEX_DUMP_WIDTH 16
|
||||
#define HEX_DUMP_SPACE_WIDTH 96
|
||||
#define HEX_DUMP_FORMAT "%-" BX_STRINGIZE(HEX_DUMP_SPACE_WIDTH) "." BX_STRINGIZE(HEX_DUMP_SPACE_WIDTH) "s"
|
||||
const char* data = &m_buffer[0];
|
||||
uint32_t size = (uint32_t)m_buffer.size();
|
||||
const char* data = (const char*)m_mb.more(0);
|
||||
uint32_t size = uint32_t(bx::seek(&m_mw) );
|
||||
|
||||
bx::writePrintf(
|
||||
m_writer
|
||||
@@ -101,14 +78,11 @@ public:
|
||||
#undef HEX_DUMP_WIDTH
|
||||
#undef HEX_DUMP_SPACE_WIDTH
|
||||
#undef HEX_DUMP_FORMAT
|
||||
|
||||
m_buffer.clear();
|
||||
}
|
||||
|
||||
bx::WriterI* m_writer;
|
||||
bx::StringView m_name;
|
||||
typedef stl::vector<char> Buffer;
|
||||
Buffer m_buffer;
|
||||
bx::MemoryBlock m_mb;
|
||||
bx::MemoryWriter m_mw;
|
||||
bx::StringView m_name;
|
||||
};
|
||||
|
||||
void help(const char* _error = NULL)
|
||||
@@ -179,13 +153,15 @@ int main(int _argc, const char* _argv[])
|
||||
bx::DefaultAllocator allocator;
|
||||
data = BX_ALLOC(&allocator, size);
|
||||
bx::read(&fr, data, size);
|
||||
bx::close(&fr);
|
||||
|
||||
bx::FileWriter fw;
|
||||
if (bx::open(&fw, outFilePath) )
|
||||
{
|
||||
Bin2cWriter writer(&fw, name);
|
||||
Bin2cWriter writer(&allocator, name);
|
||||
bx::write(&writer, data, size);
|
||||
writer.finish();
|
||||
|
||||
writer.output(&fw);
|
||||
bx::close(&fw);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user