work/bootstrap/gelex2.c
void* GE_recalloc(void* p, size_t old_nelem, size_t new_nelem, size_t elsize) {
	void* new_p;
#ifdef EIF_BOEHM_GC
	new_p = GE_null(GC_REALLOC(p, new_nelem * elsize));
#else /* No GC */
	new_p = GE_null(realloc(p, new_nelem * elsize));
#endif
	memset(((char*) new_p) + (old_nelem * elsize), 0, (new_nelem - old_nelem) * elsize);
	return new_p;
}
/*
 * Allocate more memory for the given pointer.
 * The reallocated pointer keeps the same properties (e.g. atomic or not, collectable or not).
 * The extra allocated memory is zeroed.
 * The allocated object is itself collectable.
 */
Allocate more memory for the given pointer.
The reallocated pointer keeps the same properties .
The extra allocated memory is zeroed.
The allocated object is itself collectable.
Allocate more memory for the given pointer . The reallocated pointer keeps the same properties . The extra allocated memory is zeroed . The allocated object is itself collectable .
void* GE_recalloc(void* p, size_t old_nelem, size_t new_nelem, size_t elsize) {
	void* new_p;
#ifdef EIF_BOEHM_GC
	new_p = GE_null(GC_REALLOC(p, new_nelem * elsize));
#else 
	new_p = GE_null(realloc(p, new_nelem * elsize));
#endif
	memset(((char*) new_p) + (old_nelem * elsize), 0, (new_nelem - old_nelem) * elsize);
	return new_p;
}
void * GE_recalloc ( void * p , size_t old_nelem , size_t new_nelem , size_t elsize ) { void * new_p ; #ifdef EIF_BOEHM_GC new_p = GE_null ( GC_REALLOC ( p , new_nelem * elsize ) ) ; #else new_p = GE_null ( realloc ( p , new_nelem * elsize ) ) ; #endif memset ( ( ( char * ) new_p ) + ( old_nelem * elsize ) , 0 , ( new_nelem - old_nelem ) * elsize ) ; return new_p ; }
Allocate more memory for the given pointer.
Allocate more memory for the given pointer .
/* No GC */