xref: /freebsd/contrib/ntp/libntp/emalloc.c (revision c0b746e5e8d9479f05b3749cbf1f73b8928719bd)
1c0b746e5SOllivier Robert /*
2c0b746e5SOllivier Robert  * emalloc - return new memory obtained from the system.  Belch if none.
3c0b746e5SOllivier Robert  */
4c0b746e5SOllivier Robert #include "ntp_types.h"
5c0b746e5SOllivier Robert #include "ntp_malloc.h"
6c0b746e5SOllivier Robert #include "ntp_stdlib.h"
7c0b746e5SOllivier Robert #include "ntp_syslog.h"
8c0b746e5SOllivier Robert 
9c0b746e5SOllivier Robert #if defined SYS_WINNT && defined DEBUG
10c0b746e5SOllivier Robert #include <crtdbg.h>
11c0b746e5SOllivier Robert #endif
12c0b746e5SOllivier Robert 
13c0b746e5SOllivier Robert #if defined SYS_WINNT && defined DEBUG
14c0b746e5SOllivier Robert 
15c0b746e5SOllivier Robert void *
16c0b746e5SOllivier Robert debug_emalloc(
17c0b746e5SOllivier Robert 	u_int size,
18c0b746e5SOllivier Robert 	char *filename,
19c0b746e5SOllivier Robert 	int line
20c0b746e5SOllivier Robert 	)
21c0b746e5SOllivier Robert {
22c0b746e5SOllivier Robert 	char *mem;
23c0b746e5SOllivier Robert 
24c0b746e5SOllivier Robert 	if ((mem = (char *)_malloc_dbg(size, _NORMAL_BLOCK, filename, line)) == 0) {
25c0b746e5SOllivier Robert 		msyslog(LOG_ERR, "No more memory!");
26c0b746e5SOllivier Robert 		exit(1);
27c0b746e5SOllivier Robert 	}
28c0b746e5SOllivier Robert 	return mem;
29c0b746e5SOllivier Robert }
30c0b746e5SOllivier Robert 
31c0b746e5SOllivier Robert #else
32c0b746e5SOllivier Robert 
33c0b746e5SOllivier Robert void *
34c0b746e5SOllivier Robert emalloc(
35c0b746e5SOllivier Robert 	u_int size
36c0b746e5SOllivier Robert 	)
37c0b746e5SOllivier Robert {
38c0b746e5SOllivier Robert 	char *mem;
39c0b746e5SOllivier Robert 
40c0b746e5SOllivier Robert 	if ((mem = (char *)malloc(size)) == 0) {
41c0b746e5SOllivier Robert 		msyslog(LOG_ERR, "No more memory!");
42c0b746e5SOllivier Robert 		exit(1);
43c0b746e5SOllivier Robert 	}
44c0b746e5SOllivier Robert 	return mem;
45c0b746e5SOllivier Robert }
46c0b746e5SOllivier Robert 
47c0b746e5SOllivier Robert 
48c0b746e5SOllivier Robert #endif
49