/* * Malloc wrappers for the string package. * * These functions call smalloc and also counts * how many allocated strings there are. */ static char *rcsid = "$Id: string-malloc.c,v 0.4 1991/08/28 02:20:39 ceder Exp $"; #include <stdio.h> #include <stddef.h> #include <server/smalloc.h> #include "log.h" #include "exp.h" #include "string-malloc.h" static int no_of_allocated_blocks = 0; EXPORT void * string_malloc(size_t size) { ++no_of_allocated_blocks; return smalloc (size); } EXPORT void string_free(void * ptr) { --no_of_allocated_blocks; sfree(ptr); } EXPORT void * string_realloc (void * ptr, size_t size) { if ( ptr == NULL ) return string_malloc (size); return srealloc (ptr, size); } EXPORT void dump_string_alloc_counts(FILE *stat_file) { fprintf(stat_file, "---" __FILE__ ":\n" "\tAllocated strings: %d\n", no_of_allocated_blocks); }