2 * Copyright (C) 1994, Index Data I/S
4 * Sebastian Hammer, Adam Dickmeiss
7 * Revision 1.4 1996-07-03 13:21:36 adam
8 * Function xfree_f checks for NULL pointer.
10 * Revision 1.3 1995/12/05 15:08:44 adam
11 * Fixed verbose of xrealloc.
13 * Revision 1.2 1995/12/05 11:08:37 adam
14 * More verbose malloc routines.
16 * Revision 1.1 1995/11/01 11:56:53 quinn
19 * Revision 1.6 1995/10/16 14:03:11 quinn
20 * Changes to support element set names and espec1
22 * Revision 1.5 1995/09/04 12:34:06 adam
23 * Various cleanup. YAZ util used instead.
25 * Revision 1.4 1994/10/05 10:16:16 quinn
26 * Added xrealloc. Fixed bug in log.
28 * Revision 1.3 1994/09/26 16:31:37 adam
31 * Revision 1.2 1994/08/18 08:23:26 adam
32 * Res.c now use handles. xmalloc defines xstrdup.
34 * Revision 1.1 1994/08/17 13:37:54 adam
35 * xmalloc.c added to util.
47 void *xrealloc_f (void *o, size_t size, char *file, int line)
49 void *p = realloc (o, size);
52 fprintf(stderr, "%s:%d: xrealloc(s=%d) %p -> %p\n", file, line, size, o, p);
56 logf (LOG_FATAL|LOG_ERRNO, "Out of memory, realloc (%d bytes)", size);
62 void *xmalloc_f (size_t size, char *file, int line)
64 void *p = malloc (size);
67 fprintf(stderr, "%s:%d: xmalloc(s=%d) %p\n", file, line, size, p);
71 logf (LOG_FATAL, "Out of memory - malloc (%d bytes)", size);
77 void *xcalloc_f (size_t nmemb, size_t size, char *file, int line)
79 void *p = calloc (nmemb, size);
81 fprintf(stderr, "%s:%d: xcalloc(s=%d) %p\n", file, line, size, p);
85 logf (LOG_FATAL, "Out of memory - calloc (%d, %d)", nmemb, size);
91 char *xstrdup_f (const char *s, char *file, int line)
93 char *p = xmalloc (strlen(s)+1);
95 fprintf(stderr, "%s:%d: xstrdup(s=%d) %p\n", file, line, strlen(s)+1, p);
102 void xfree_f(void *p, char *file, int line)
108 fprintf(stderr, "%s:%d: xfree %p\n", file, line, p);