Home | History | Annotate | Download | only in lib
      1 /* -*- buffer-read-only: t -*- vi: set ro: */
      2 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
      3 /* malloc() function that is glibc compatible.
      4 
      5    Copyright (C) 1997, 1998, 2006, 2007 Free Software Foundation, Inc.
      6 
      7    This program is free software; you can redistribute it and/or modify
      8    it under the terms of the GNU General Public License as published by
      9    the Free Software Foundation; either version 3, or (at your option)
     10    any later version.
     11 
     12    This program is distributed in the hope that it will be useful,
     13    but WITHOUT ANY WARRANTY; without even the implied warranty of
     14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15    GNU General Public License for more details.
     16 
     17    You should have received a copy of the GNU General Public License
     18    along with this program; if not, write to the Free Software Foundation,
     19    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
     20 
     21 /* written by Jim Meyering and Bruno Haible */
     22 
     23 #include <config.h>
     24 /* Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h.  */
     25 #ifdef malloc
     26 # define NEED_MALLOC_GNU
     27 # undef malloc
     28 #endif
     29 
     30 /* Specification.  */
     31 #include <stdlib.h>
     32 
     33 #include <errno.h>
     34 
     35 /* Call the system's malloc below.  */
     36 #undef malloc
     37 
     38 /* Allocate an N-byte block of memory from the heap.
     39    If N is zero, allocate a 1-byte block.  */
     40 
     41 void *
     42 rpl_malloc (size_t n)
     43 {
     44   void *result;
     45 
     46 #ifdef NEED_MALLOC_GNU
     47   if (n == 0)
     48     n = 1;
     49 #endif
     50 
     51   result = malloc (n);
     52 
     53 #if !HAVE_MALLOC_POSIX
     54   if (result == NULL)
     55     errno = ENOMEM;
     56 #endif
     57 
     58   return result;
     59 }
     60