|
|
@@ -43,17 +43,15 @@ void * clean_realloc(allocator_t *allocator, heap_t *heap, void *ptr,
|
|
|
/**
|
|
|
* Copy a memory area
|
|
|
*/
|
|
|
-static void * custom_memcpy(void* dest, const void* src, size_t n) {
|
|
|
+static void custom_memcpy(void* dest, const void* src, size_t n) {
|
|
|
char *dst8, *src8;
|
|
|
|
|
|
- dst8 = (char *) dest;
|
|
|
- src8 = (char *) src;
|
|
|
+ dst8 = (char *) dest + HEADER_SIZE;
|
|
|
+ src8 = (char *) src + HEADER_SIZE;
|
|
|
|
|
|
while(n--) {
|
|
|
*dst8++ = *src8++;
|
|
|
}
|
|
|
-
|
|
|
- return dest;
|
|
|
}
|
|
|
|
|
|
void * clean_realloc(allocator_t *allocator, heap_t *heap, void *ptr,
|
|
|
@@ -63,7 +61,7 @@ void * clean_realloc(allocator_t *allocator, heap_t *heap, void *ptr,
|
|
|
|
|
|
old_size = get_size(ptr);
|
|
|
new_ptr = custom_ahmalloc(allocator, heap, size);
|
|
|
- new_ptr = custom_memcpy(allocator, ptr, old_size);
|
|
|
+ custom_memcpy(new_ptr, ptr, old_size);
|
|
|
custom_ahfree(allocator, heap, ptr);
|
|
|
|
|
|
return new_ptr;
|