mirror of https://github.com/diegocr/libnix.git
25 lines
388 B
C
25 lines
388 B
C
#include <stdlib.h>
|
|
#include <proto/exec.h>
|
|
#include <string.h>
|
|
|
|
void *realloc(void *ptr,size_t size)
|
|
{
|
|
void *a;
|
|
size_t l;
|
|
if(size)
|
|
a=malloc(size);
|
|
else
|
|
a=NULL;
|
|
if(ptr!=NULL)
|
|
{ if(a!=NULL)
|
|
{ l=((ULONG *)ptr)[-1]-sizeof(ULONG);
|
|
l=l<size?l:size;
|
|
// CopyMem(ptr,a,l);
|
|
bcopy(ptr,a,l);
|
|
}
|
|
if(size==0||a!=NULL)
|
|
free(ptr);
|
|
}
|
|
return a;
|
|
}
|