home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #4 / amigaacscoverdisc1998-041998.iso / utilities / shareware / dev / vbcc / machines / amiga68k / libsrc / stdlib / oldrealloc.c < prev    next >
Encoding:
C/C++ Source or Header  |  1997-12-30  |  381 b   |  19 lines

  1. #include <stdlib.h>
  2. #include <string.h>
  3.  
  4. void *realloc(void *old,size_t nsize)
  5. {
  6.     size_t osize;void *new;
  7.     union _mheader *mp;
  8.     if(!old) return(malloc(nsize));
  9.     mp=(union _mheader *)old;
  10.     mp--;
  11.     osize=(mp->s.size-1)*sizeof(union _mheader);
  12.     if(new=malloc(nsize)){
  13.         memcpy(new,old,osize>nsize ? nsize:osize);
  14.         free(old);
  15.     }
  16.     return(new);
  17. }
  18.  
  19.