re_alloc() function

void *re_alloc(void *data, unsigned long size)

Function returns pointer to a resized data suballocation (if there was an
error during calculations function returns pointer to the initial structure)
re_alloc() correction

Some improvements. Function do not threat safe. Test file correction