filters

gmem.h
1/*
2 * gmem.h
3 *
4 * Memory routines with out-of-memory checking.
5 *
6 * Copyright 1996-2002 Glyph & Cog, LLC
7 */
8
9#ifndef GMEM_H
10#define GMEM_H
11
12#include <stdio.h>
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18/*
19 * Same as malloc, but prints error message and exits if malloc()
20 * returns NULL.
21 */
22extern void *gmalloc(int size);
23
24/*
25 * Same as realloc, but prints error message and exits if realloc()
26 * returns NULL. If <p> is NULL, calls malloc instead of realloc().
27 */
28extern void *grealloc(void *p, int size);
29
30/*
31 * Same as free, but checks for and ignores NULL pointers.
32 */
33extern void gfree(void *p);
34
35#ifdef DEBUG_MEM
36/*
37 * Report on unfreed memory.
38 */
39extern void gMemReport(FILE *f);
40#else
41#define gMemReport(f)
42#endif
43
44/*
45 * Allocate memory and copy a string into it.
46 */
47extern char *copyString(const char *s);
48
49#ifdef __cplusplus
50}
51#endif
52
53#endif