/*
- * Copyright (c) 1995, Index Data.
+ * Copyright (c) 1995-1998, Index Data.
*
* Permission to use, copy, modify, distribute, and sell this software and
* its documentation, in whole or in part, for any purpose, is hereby granted,
* OF THIS SOFTWARE.
*
* $Log: xmalloc.h,v $
- * Revision 1.1 1995-11-01 11:55:41 quinn
+ * Revision 1.5 1998-07-20 12:36:22 adam
+ * Minor changes.
+ *
+ * Revision 1.4 1997/10/31 12:20:08 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.3 1997/09/01 08:49:54 adam
+ * New windows NT/95 port using MSV5.0. To export DLL functions the
+ * YAZ_EXPORT modifier was added. Defined in yconfig.h.
+ *
+ * Revision 1.2 1997/05/14 06:53:53 adam
+ * C++ support.
+ *
+ * Revision 1.1 1995/11/01 11:55:41 quinn
* Added xmalloc.c
*
* Revision 1.8 1995/10/16 14:03:07 quinn
#include <sys/types.h>
#include <stdlib.h>
-void *xrealloc_f (void *o, size_t size, char *file, int line);
-void *xmalloc_f (size_t size, char *file, int line);
-void *xcalloc_f (size_t nmemb, size_t size, char *file, int line);
-char *xstrdup_f (const char *, char *file, int line);
-void xfree_f (void *p, char *file, int line);
+#include <yconfig.h>
+
+#define TRACE_XMALLOC 0
+
+#ifndef TRACE_XMALLOC
+#define TRACE_XMALLOC 0
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+YAZ_EXPORT void *xrealloc_f (void *o, size_t size, char *file, int line);
+YAZ_EXPORT void *xmalloc_f (size_t size, char *file, int line);
+YAZ_EXPORT void *xcalloc_f (size_t nmemb, size_t size, char *file, int line);
+YAZ_EXPORT char *xstrdup_f (const char *, char *file, int line);
+YAZ_EXPORT void xfree_f (void *p, char *file, int line);
#define xrealloc(o, x) xrealloc_f(o, x, __FILE__, __LINE__)
#define xmalloc(x) xmalloc_f(x, __FILE__, __LINE__)
#define xfree(x) xfree_f(x, __FILE__, __LINE__)
#define xstrdup(s) xstrdup_f(s, __FILE__, __LINE__)
+#ifdef __cplusplus
+}
+#endif
+
#endif