Annotation of embedaddon/libiconv/srclib/malloc.c, revision 1.1.1.2

1.1       misho       1: /* malloc() function that is glibc compatible.
                      2: 
1.1.1.2 ! misho       3:    Copyright (C) 1997-1998, 2006-2007, 2009-2019 Free Software Foundation, Inc.
1.1       misho       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
1.1.1.2 ! misho      16:    along with this program; if not, see <https://www.gnu.org/licenses/>.  */
1.1       misho      17: 
                     18: /* written by Jim Meyering and Bruno Haible */
                     19: 
1.1.1.2 ! misho      20: #define _GL_USE_STDLIB_ALLOC 1
1.1       misho      21: #include <config.h>
                     22: /* Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h.  */
                     23: #ifdef malloc
1.1.1.2 ! misho      24: # define NEED_MALLOC_GNU 1
1.1       misho      25: # undef malloc
1.1.1.2 ! misho      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
1.1       misho      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: 
1.1.1.2 ! misho      43: #if NEED_MALLOC_GNU
1.1       misho      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: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>