"Fossies" - the Fresh Open Source Software Archive

Member "gnuastro-0.8/bootstrapped/lib/malloc.c" (28 Dec 2018, 1499 Bytes) of package /linux/privat/gnuastro-0.8.tar.lz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "malloc.c" see the Fossies "Dox" file reference documentation and the last Fossies "Diffs" side-by-side code changes report: 0.5_vs_0.6.

    1 /* malloc() function that is glibc compatible.
    2 
    3    Copyright (C) 1997-1998, 2006-2007, 2009-2018 Free Software Foundation, Inc.
    4 
    5    This program is free software; you can redistribute it and/or modify
    6    it under the terms of the GNU General Public License as published by
    7    the Free Software Foundation; either version 3, or (at your option)
    8    any later version.
    9 
   10    This program is distributed in the hope that it will be useful,
   11    but WITHOUT ANY WARRANTY; without even the implied warranty of
   12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   13    GNU General Public License for more details.
   14 
   15    You should have received a copy of the GNU General Public License
   16    along with this program; if not, see <https://www.gnu.org/licenses/>.  */
   17 
   18 /* written by Jim Meyering and Bruno Haible */
   19 
   20 #define _GL_USE_STDLIB_ALLOC 1
   21 #include <config.h>
   22 /* Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h.  */
   23 #ifdef malloc
   24 # define NEED_MALLOC_GNU 1
   25 # undef malloc
   26 /* Whereas the gnulib module 'malloc-gnu' defines HAVE_MALLOC_GNU.  */
   27 #elif GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU
   28 # define NEED_MALLOC_GNU 1
   29 #endif
   30 
   31 #include <stdlib.h>
   32 
   33 #include <errno.h>
   34 
   35 /* Allocate an N-byte block of memory from the heap.
   36    If N is zero, allocate a 1-byte block.  */
   37 
   38 void *
   39 rpl_malloc (size_t n)
   40 {
   41   void *result;
   42 
   43 #if NEED_MALLOC_GNU
   44   if (n == 0)
   45     n = 1;
   46 #endif
   47 
   48   result = malloc (n);
   49 
   50 #if !HAVE_MALLOC_POSIX
   51   if (result == NULL)
   52     errno = ENOMEM;
   53 #endif
   54 
   55   return result;
   56 }