| 636 memcpy(&dest->data[dest->size], source->data, sizeof(void*)*source->size); |
636 memcpy(&dest->data[dest->size], source->data, sizeof(void*)*source->size); |
| 637 dest->size += source->size; |
637 dest->size += source->size; |
| 638 |
638 |
| 639 // transfer all registered memory |
639 // transfer all registered memory |
| 640 memcpy(&dest->registered[dest->registered_size], source->registered, |
640 memcpy(&dest->registered[dest->registered_size], source->registered, |
| 641 sizeof(struct cx_mempool_foreign_memory_s) * source->registered_size); |
641 sizeof(struct cx_mempool_foreign_memory_s) * source->size); |
| 642 dest->registered_size += source->registered_size; |
642 dest->registered_size += source->registered_size; |
| 643 |
643 |
| 644 // register the old allocator with the new pool |
644 // register the old allocator with the new pool |
| 645 // we have to remove const-ness for this, but that's okay here |
645 // we have to remove const-ness for this, but that's okay here |
| 646 // also register the base allocator, s.t. the pool knows how to free it |
646 // also register the base allocator, s.t. the pool knows how to free it |