home *** CD-ROM | disk | FTP | other *** search
/ Mega CD-ROM 1 / megacd_rom_1.zip / megacd_rom_1 / GNUISH / GNULIB0.ZIP / XREALLOC.C < prev   
C/C++ Source or Header  |  1990-09-20  |  1KB  |  47 lines

  1. /*  xrealloc.c - abort on reallocation failure.
  2.     Copyright (C) 1990 by Thorsten Ohl, td12@ddagsi3.bitnet
  3.  
  4.     This program is free software; you can redistribute it and/or modify
  5.     it under the terms of the GNU General Public License as published by
  6.     the Free Software Foundation; either version 1, or (at your option)
  7.     any later version.
  8.  
  9.     This program is distributed in the hope that it will be useful,
  10.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.     GNU General Public License for more details.
  13.  
  14.     You should have received a copy of the GNU General Public License
  15.     along with this program; if not, write to the Free Software
  16.     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  17.  
  18.     $Header: e:/gnu/lib/RCS/xrealloc.c 1.0 90/09/11 01:55:28 tho Exp $
  19.  */
  20.  
  21. /* ANSI C Prototypes */
  22. #include <stdlib.h>
  23.  
  24. #include <gnulib.h>
  25.  
  26. void *
  27. xrealloc (void *buffer, size_t bytes)
  28. {
  29.   void *ptr = (void *) realloc (buffer, bytes);
  30.  
  31.   /* Don't abort if BYTES is zero, since realloc() frees BUFFER
  32.      in this case and returns a NULL pointer.  */
  33.  
  34.   if (ptr == NULL && bytes != 0)
  35.     error (2, 0, "Out of memory!");
  36.  
  37.   return ptr;
  38. }
  39.  
  40. /* 
  41.  * Local Variables:
  42.  * mode:C
  43.  * ChangeLog:ChangeLog
  44.  * compile-command:make
  45.  * End:
  46.  */
  47.