* Sebastian Hammer, Adam Dickmeiss
*
* $Log: xmalloc.c,v $
- * Revision 1.2 1995-12-05 11:08:37 adam
+ * Revision 1.6 1998-02-11 11:53:36 adam
+ * Changed code so that it compiles as C++.
+ *
+ * Revision 1.5 1997/10/31 12:20:09 adam
+ * Improved memory debugging for xmalloc/nmem.c. References to NMEM
+ * instead of ODR in n ESPEC-1 handling in source d1_espec.c.
+ * Bug fix: missing fclose in data1_read_espec1.
+ *
+ * Revision 1.4 1996/07/03 13:21:36 adam
+ * Function xfree_f checks for NULL pointer.
+ *
+ * Revision 1.3 1995/12/05 15:08:44 adam
+ * Fixed verbose of xrealloc.
+ *
+ * Revision 1.2 1995/12/05 11:08:37 adam
* More verbose malloc routines.
*
* Revision 1.1 1995/11/01 11:56:53 quinn
void *xrealloc_f (void *o, size_t size, char *file, int line)
{
- void *p;
+ void *p = realloc (o, size);
-#ifdef TRACE_XMALLOC
- fprintf(stderr, "%s:%d: xrealloc(s=%d) %p", file, line, size, p);
+#if TRACE_XMALLOC
+ logf (LOG_DEBUG,
+ "%s:%d: xrealloc(s=%d) %p -> %p", file, line, size, o, p);
#endif
- p = realloc (o, size);
if (!p)
{
logf (LOG_FATAL|LOG_ERRNO, "Out of memory, realloc (%d bytes)", size);
exit(1);
}
-#ifdef TRACE_XMALLOC
- fprintf(stderr, " -> %p\n", p);
-#endif
return p;
}
{
void *p = malloc (size);
-#ifdef TRACE_XMALLOC
- fprintf(stderr, "%s:%d: xmalloc(s=%d) %p\n", file, line, size, p);
+#if TRACE_XMALLOC
+ logf (LOG_DEBUG, "%s:%d: xmalloc(s=%d) %p", file, line, size, p);
#endif
if (!p)
{
void *xcalloc_f (size_t nmemb, size_t size, char *file, int line)
{
void *p = calloc (nmemb, size);
-#ifdef TRACE_XMALLOC
- fprintf(stderr, "%s:%d: xcalloc(s=%d) %p\n", file, line, size, p);
+#if TRACE_XMALLOC
+ logf (LOG_DEBUG, "%s:%d: xcalloc(s=%d) %p", file, line, size, p);
#endif
if (!p)
{
char *xstrdup_f (const char *s, char *file, int line)
{
- char *p = xmalloc (strlen(s)+1);
-#ifdef TRACE_XMALLOC
- fprintf(stderr, "%s:%d: xstrdup(s=%d) %p\n", file, line, strlen(s)+1, p);
+ char *p = (char *)xmalloc (strlen(s)+1);
+#if TRACE_XMALLOC
+ logf (LOG_DEBUG, "%s:%d: xstrdup(s=%d) %p", file, line, strlen(s)+1, p);
#endif
strcpy (p, s);
return p;
void xfree_f(void *p, char *file, int line)
{
-#ifdef TRACE_XMALLOC
+ if (!p)
+ return ;
+#if TRACE_XMALLOC
if (p)
- fprintf(stderr, "%s:%d: xfree %p\n", file, line, p);
+ logf (LOG_DEBUG, "%s:%d: xfree %p", file, line, p);
#endif
free(p);
}