Annotation of embedaddon/ntp/include/ntp_malloc.h, revision 1.1
1.1 ! misho 1: /*
! 2: * Define malloc and friends.
! 3: */
! 4: #ifndef NTP_MALLOC_H
! 5: #define NTP_MALLOC_H
! 6:
! 7: #ifdef HAVE_STDLIB_H
! 8: # include <stdlib.h>
! 9: #else
! 10: # ifdef HAVE_MALLOC_H
! 11: # include <malloc.h>
! 12: # endif
! 13: #endif
! 14:
! 15: /*
! 16: * Deal with platform differences declaring alloca()
! 17: * This comes nearly verbatim from:
! 18: *
! 19: * http://www.gnu.org/software/autoconf/manual/autoconf.html#Particular-Functions
! 20: *
! 21: * The only modifications were to remove C++ support and guard against
! 22: * redefining alloca.
! 23: */
! 24: #ifdef HAVE_ALLOCA_H
! 25: # include <alloca.h>
! 26: #elif defined __GNUC__
! 27: # ifndef alloca
! 28: # define alloca __builtin_alloca
! 29: # endif
! 30: #elif defined _AIX
! 31: # ifndef alloca
! 32: # define alloca __alloca
! 33: # endif
! 34: #elif defined _MSC_VER
! 35: # include <malloc.h>
! 36: # ifndef alloca
! 37: # define alloca _alloca
! 38: # endif
! 39: #else
! 40: # include <stddef.h>
! 41: void * alloca(size_t);
! 42: #endif
! 43:
! 44: #ifdef EREALLOC_IMPL
! 45: # define EREALLOC_CALLSITE /* preserve __FILE__ and __LINE__ */
! 46: #else
! 47: # define EREALLOC_IMPL(ptr, newsz, filenm, loc) \
! 48: realloc(ptr, (newsz))
! 49: #endif
! 50:
! 51: #ifdef HAVE_STRINGS_H
! 52: # include <strings.h>
! 53: # define zero_mem(p, s) bzero(p, s)
! 54: #endif
! 55:
! 56: #ifndef zero_mem
! 57: # define zero_mem(p, s) memset(p, 0, s)
! 58: #endif
! 59: #define ZERO(var) zero_mem(&(var), sizeof(var))
! 60:
! 61: #endif /* NTP_MALLOC_H */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>