Annotation of embedaddon/ntp/include/ntp_malloc.h, revision 1.1.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>