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