2 * Copyright (C) 1994, Index Data I/S
4 * Sebastian Hammer, Adam Dickmeiss
7 * Revision 1.3 1995-12-05 15:08:44 adam
8 * Fixed verbose of xrealloc.
10 * Revision 1.2 1995/12/05 11:08:37 adam
11 * More verbose malloc routines.
13 * Revision 1.1 1995/11/01 11:56:53 quinn
16 * Revision 1.6 1995/10/16 14:03:11 quinn
17 * Changes to support element set names and espec1
19 * Revision 1.5 1995/09/04 12:34:06 adam
20 * Various cleanup. YAZ util used instead.
22 * Revision 1.4 1994/10/05 10:16:16 quinn
23 * Added xrealloc. Fixed bug in log.
25 * Revision 1.3 1994/09/26 16:31:37 adam
28 * Revision 1.2 1994/08/18 08:23:26 adam
29 * Res.c now use handles. xmalloc defines xstrdup.
31 * Revision 1.1 1994/08/17 13:37:54 adam
32 * xmalloc.c added to util.
44 void *xrealloc_f (void *o, size_t size, char *file, int line)
46 void *p = realloc (o, size);
49 fprintf(stderr, "%s:%d: xrealloc(s=%d) %p -> %p\n", file, line, size, o, p);
53 logf (LOG_FATAL|LOG_ERRNO, "Out of memory, realloc (%d bytes)", size);
59 void *xmalloc_f (size_t size, char *file, int line)
61 void *p = malloc (size);
64 fprintf(stderr, "%s:%d: xmalloc(s=%d) %p\n", file, line, size, p);
68 logf (LOG_FATAL, "Out of memory - malloc (%d bytes)", size);
74 void *xcalloc_f (size_t nmemb, size_t size, char *file, int line)
76 void *p = calloc (nmemb, size);
78 fprintf(stderr, "%s:%d: xcalloc(s=%d) %p\n", file, line, size, p);
82 logf (LOG_FATAL, "Out of memory - calloc (%d, %d)", nmemb, size);
88 char *xstrdup_f (const char *s, char *file, int line)
90 char *p = xmalloc (strlen(s)+1);
92 fprintf(stderr, "%s:%d: xstrdup(s=%d) %p\n", file, line, strlen(s)+1, p);
99 void xfree_f(void *p, char *file, int line)
103 fprintf(stderr, "%s:%d: xfree %p\n", file, line, p);