Heap allocate size …

Hi, in my application I use a heap memory with code of “heap4″. I have the need to use the “realloc” function to provide a already allocated memory area. I have write a wrapper to this function on “heap4″ but I realized now that I do not know the size of the old allocation to copy the old content to the new memory area. There is a function “mallocusablesize” that returns this value but how implement this routine in “heap_4” ? You can know the size of a memory block allocated by vPortMalloc ? Thanks very much. debugasm

Heap allocate size …

The size of every block is stored in a BlockLink_t structure, in the allocated block itself. See the implementation of vPortFree() for an example of how it is accessed.

Heap allocate size …

I understand, thank you so much. debugasm

Heap allocate size …

To be precise: ~~~~ // The block is being returned to the heap – it is no longer allocated. block_size = (pxLink->xBlockSize & ~xBlockAllocatedBit) – xHeapStructSize; ~~~~ Obtain block size allocate by “pvPortMalloc” rounded to “BYTE_ALIGNMENT” debugasm