]> git.sur5r.net Git - openldap/blob - servers/slapd/ch_malloc.c
Update for Alpha3 from -devel as of OPENLDAP_DEVEL_981116.
[openldap] / servers / slapd / ch_malloc.c
1 /* ch_malloc.c - malloc routines that test returns from malloc and friends */
2
3 #include "portable.h"
4
5 #include <stdio.h>
6
7 #include <ac/string.h>
8 #include <ac/socket.h>
9
10 #include "slap.h"
11
12 void *
13 ch_malloc(
14     unsigned long       size
15 )
16 {
17         void    *new;
18
19         if ( (new = (void *) malloc( size )) == NULL ) {
20                 Debug( LDAP_DEBUG_ANY, "malloc of %lu bytes failed\n", size, 0, 0 );
21                 exit( 1 );
22         }
23
24         return( new );
25 }
26
27 void *
28 ch_realloc(
29     void                *block,
30     unsigned long       size
31 )
32 {
33         void    *new;
34
35         if ( block == NULL ) {
36                 return( ch_malloc( size ) );
37         }
38
39         if ( (new = (void *) realloc( block, size )) == NULL ) {
40                 Debug( LDAP_DEBUG_ANY, "realloc of %lu bytes failed\n", size, 0, 0 );
41                 exit( 1 );
42         }
43
44         return( new );
45 }
46
47 void *
48 ch_calloc(
49     unsigned long       nelem,
50     unsigned long       size
51 )
52 {
53         void    *new;
54
55         if ( (new = (void *) calloc( nelem, size )) == NULL ) {
56                 Debug( LDAP_DEBUG_ANY, "calloc of %lu elems of %lu bytes failed\n",
57                   nelem, size, 0 );
58                 exit( 1 );
59         }
60
61         return( new );
62 }