File: xmalloc.c

package info (click to toggle)
courierpassd 1.1.2-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, lenny, squeeze
  • size: 1,356 kB
  • ctags: 109
  • sloc: sh: 7,884; ansic: 798; makefile: 16
file content (55 lines) | stat: -rw-r--r-- 1,068 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/*
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation; either version 2, or (at
 * your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * Copyright (c) Andrew St. Jean <andrew@arda.homeunix.net> 2003
 *
 * */

#if HAVE_CONFIG_H
#include        <config.h>
#endif

#include        "courierpassd.h"


void *
xmalloc(size_t num){
	void *new = malloc(num);
	if (!new){
		end_logging();
		exit(1);
	}

	return(new);
}

void *
xcalloc(size_t num, size_t size){
	void *new = xmalloc(num * size);
	memset(new, 0x00, num * size);
	return(new);
}

void *
xrealloc(void *p, size_t num){
	void *new;
	if (!p)
		return(xmalloc(num));
	
	new = realloc(p, num);
	if (!new){
		end_logging();
		exit(1);
	}

	return(new);
}