Re-allocate memory to newsize bytes.
Return pointer to the allocated memory or null if out of memory. If null
is returned, the pointer p is not freed. Otherwise the original
pointer is either freed or returned as the reallocated result (in case
it fits in-place with the new size).
If p is null, it behaves as [sn_malloc]. If newsize is larger than
the original size allocated for p, the bytes after size are
uninitialized.
Allocate the memory with the given alignment and size.
On success, it returns a pointer pointing to the required memory address.
On failure, it returns a null pointer.
The client must assure the following things:
Re-allocate the memory at the given address with the given alignment and size.
On success, it returns a pointer pointing to the required memory address.
The memory content within the new_size will remains the same as previous.
On failure, it returns a null pointer. In this situation, the previous memory is not returned to the allocator.
The client must assure the following things: