X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslurpd%2Fch_malloc.c;h=2b42ab266329b1023ddcfe053e37423f789e78c6;hb=f07179ca615bd9583190e3a7770372db1547a3ba;hp=9f119825fa8cd0774c119c79d320de6e826b65c8;hpb=c57e5952f9a9239b27f3ea9b1a6fbfcef326ffac;p=openldap diff --git a/servers/slurpd/ch_malloc.c b/servers/slurpd/ch_malloc.c index 9f119825fa..2b42ab2663 100644 --- a/servers/slurpd/ch_malloc.c +++ b/servers/slurpd/ch_malloc.c @@ -1,3 +1,8 @@ +/* $OpenLDAP$ */ +/* + * Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved. + * COPYING RESTRICTIONS APPLY, see COPYRIGHT file + */ /* * Copyright (c) 1996 Regents of the University of Michigan. * All rights reserved. @@ -10,6 +15,8 @@ * is provided ``as is'' without express or implied warranty. */ +#define CH_FREE 1 + /* * ch_malloc.c - malloc() and friends, with check for NULL return. */ @@ -24,6 +31,7 @@ #include "../slapd/slap.h" +#ifndef CSRIMALLOC /* * Just like malloc, except we check the returned value and exit @@ -39,7 +47,7 @@ ch_malloc( if ( (new = (void *) ber_memalloc( size )) == NULL ) { fprintf( stderr, "malloc of %lu bytes failed\n", (long) size ); - exit( 1 ); + exit( EXIT_FAILURE ); } return( new ); @@ -71,7 +79,7 @@ ch_realloc( if ( (new = (void *) ber_memrealloc( block, size )) == NULL ) { fprintf( stderr, "realloc of %lu bytes failed\n", (long) size ); - exit( 1 ); + exit( EXIT_FAILURE ); } return( new ); @@ -95,12 +103,31 @@ ch_calloc( if ( (new = (void *) ber_memcalloc( nelem, size )) == NULL ) { fprintf( stderr, "calloc of %lu elems of %lu bytes failed\n", (long) nelem, (long) size ); - exit( 1 ); + exit( EXIT_FAILURE ); } return( new ); } +/* + * Just like strdup, except we check the returned value and exit + * if anything goes wrong. + */ +char * +ch_strdup( + const char *string +) +{ + char *new; + + if ( (new = ber_strdup( string )) == NULL ) { + fprintf( stderr, "ch_strdup: duplication of \"%s\" failed\n", + string ); + exit( EXIT_FAILURE ); + } + + return( new ); +} /* * Just like free, except we check to see if p is null. @@ -116,3 +143,4 @@ ch_free( return; } +#endif