Unified · Split
| @@ -104,7 +104,7 @@ extern "C" { · 103 unmodified lines | |||
| 104 | 104 | ||
| 105 | void tMempool_init (tMempool* const, char* memory, size_t size); | 105 | void tMempool_init (tMempool* const, char* memory, size_t size); |
| 106 | void tMempool_free (tMempool* const); | 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 | void tMempool_freeFromPool (tMempool* const, tMempool* const); | 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 | pool->head = freed_node; | 209 | pool->head = freed_node; |
| 210 | 210 | ||
| 211 | // Format the freed pool | 211 | // Format the freed pool |
| 212 | char* freed_pool = (char*)freed_node->pool; | 212 | // char* freed_pool = (char*)freed_node->pool; |
| 213 | for (int i = 0; i < freed_node->size; i++) freed_pool[i] = 0; | 213 | // for (int i = 0; i < freed_node->size; i++) freed_pool[i] = 0; |
| 214 | } | 214 | } |
| 215 | 215 | ||
| 216 | void leaf_free(void* ptr) | 216 | void leaf_free(void* ptr) |
| @@ -300,3 +300,19 @@ void tMempool_free(tMempool* const mp) · 83 unmodified lines | |||
| 300 | 300 | ||
| 301 | leaf_free(m); | 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 | } | ||