diff options
Diffstat (limited to 'src/lib/netlist/plib/palloc.cpp')
-rw-r--r-- | src/lib/netlist/plib/palloc.cpp | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/lib/netlist/plib/palloc.cpp b/src/lib/netlist/plib/palloc.cpp index ef9e42dcba5..c89c2ed7e63 100644 --- a/src/lib/netlist/plib/palloc.cpp +++ b/src/lib/netlist/plib/palloc.cpp @@ -12,7 +12,6 @@ #include "pfmtlog.h" namespace plib { - //============================================================ // Exceptions //============================================================ @@ -56,7 +55,7 @@ out_of_mem_e::out_of_mem_e(const pstring &location) // Memory pool //============================================================ -mempool::mempool(int min_alloc, int min_align) +mempool::mempool(size_t min_alloc, size_t min_align) : m_min_alloc(min_alloc), m_min_align(min_align) { } @@ -71,7 +70,7 @@ mempool::~mempool() m_blocks.clear(); } -int mempool::new_block() +size_t mempool::new_block() { block b; b.data = new char[m_min_alloc]; @@ -93,21 +92,21 @@ void *mempool::alloc(size_t size) { b.m_free -= rs; b.m_num_alloc++; - info *i = (info *) b.cur_ptr; + auto i = reinterpret_cast<info *>(b.cur_ptr); i->m_block = bn; - void *ret = (void *) (b.cur_ptr + sizeof(info)); + auto ret = reinterpret_cast<void *>(b.cur_ptr + sizeof(info)); b.cur_ptr += rs; return ret; } } { - int bn = new_block(); + size_t bn = new_block(); auto &b = m_blocks[bn]; b.m_num_alloc = 1; b.m_free = m_min_alloc - rs; - info *i = (info *) b.cur_ptr; + auto i = reinterpret_cast<info *>(b.cur_ptr); i->m_block = bn; - void *ret = (void *) (b.cur_ptr + sizeof(info)); + auto ret = reinterpret_cast<void *>(b.cur_ptr + sizeof(info)); b.cur_ptr += rs; return ret; } @@ -115,9 +114,9 @@ void *mempool::alloc(size_t size) void mempool::free(void *ptr) { - char *p = (char *) ptr; + auto p = reinterpret_cast<char *>(ptr); - info *i = (info *) (p - sizeof(info)); + auto i = reinterpret_cast<info *>(p - sizeof(info)); block *b = &m_blocks[i->m_block]; if (b->m_num_alloc == 0) fprintf(stderr, "Argh .. double free\n"); |