Unified · Split
| @@ -104,7 +104,7 @@ extern "C" { · 103 unmodified lines | ||
| 104 | 104 | |
| 105 | 105 | void tMempool_init (tMempool* const, char* memory, size_t size); |
| 106 | 106 | void tMempool_free (tMempool* const); |
| 107 | − void tMempool_initToPool (tMempool* const, tMempool* const); | |
| 107 | + void tMempool_initToPool (tMempool* const, char* memory, size_t size, tMempool* const); | |
| 108 | 108 | void tMempool_freeFromPool (tMempool* const, tMempool* const); |
| 109 | 109 | |
| 110 | 110 | //============================================================================== |
| @@ -209,8 +209,8 @@ void mpool_free(void* ptr, mpool_t* pool) · 208 unmodified lines | ||
| 209 | 209 | pool->head = freed_node; |
| 210 | 210 | |
| 211 | 211 | // Format the freed pool |
| 212 | − char* freed_pool = (char*)freed_node->pool; | |
| 213 | − for (int i = 0; i < freed_node->size; i++) freed_pool[i] = 0; | |
| 212 | +// char* freed_pool = (char*)freed_node->pool; | |
| 213 | +// for (int i = 0; i < freed_node->size; i++) freed_pool[i] = 0; | |
| 214 | 214 | } |
| 215 | 215 | |
| 216 | 216 | void leaf_free(void* ptr) |
| @@ -300,3 +300,19 @@ void tMempool_free(tMempool* const mp) · 83 unmodified lines | ||
| 300 | 300 | |
| 301 | 301 | leaf_free(m); |
| 302 | 302 | } |
| 303 | + | |
| 304 | +void tMempool_initToPool (tMempool* const mp, char* memory, size_t size, tMempool* const mem) | |
| 305 | +{ | |
| 306 | + _tMempool* mm = *mem; | |
| 307 | + _tMempool* m = *mp = (_tMempool*) mpool_alloc(sizeof(_tMempool), mm->pool); | |
| 308 | + | |
| 309 | + mpool_create (memory, size, m->pool); | |
| 310 | +} | |
| 311 | + | |
| 312 | +void tMempool_freeFromPool (tMempool* const mp, tMempool* const mem) | |
| 313 | +{ | |
| 314 | + _tMempool* mm = *mem; | |
| 315 | + _tMempool* m = *mp; | |
| 316 | + | |
| 317 | + mpool_free(m, mm->pool); | |
| 318 | +} | |