From de507ebff83603fd6b95215c031ee8463da1e920 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?=
 <grubba@grubba.org>
Date: Wed, 14 Mar 2012 13:50:18 +0100
Subject: [PATCH] Moved struct mallinfo definition from malloc.c to global.h.

---
 src/acconfig.h | 25 +++++++++++++++++++++++++
 src/malloc.c   | 25 ++++---------------------
 2 files changed, 29 insertions(+), 21 deletions(-)

diff --git a/src/acconfig.h b/src/acconfig.h
index 4a6db15a32..9ed6da30e7 100644
--- a/src/acconfig.h
+++ b/src/acconfig.h
@@ -647,6 +647,31 @@
 /* dlmalloc has mallinfo. */
 #if defined(USE_DL_MALLOC) && !defined(HAVE_MALLINFO)
 #define HAVE_MALLINFO
+
+#if defined (HAVE_MALLOC_H) && defined (HAVE_STRUCT_MALLINFO)
+#include <malloc.h>
+#else /* HAVE_MALLOC_H && HAVE_STRUCT_MALLINFO */
+
+#ifndef MALLINFO_FIELD_TYPE
+#define MALLINFO_FIELD_TYPE size_t
+#endif  /* MALLINFO_FIELD_TYPE */
+
+/* dlmalloc definition of struct mallinfo. */
+struct mallinfo {
+  MALLINFO_FIELD_TYPE arena;    /* non-mmapped space allocated from system */
+  MALLINFO_FIELD_TYPE ordblks;  /* number of free chunks */
+  MALLINFO_FIELD_TYPE smblks;   /* always 0 */
+  MALLINFO_FIELD_TYPE hblks;    /* always 0 */
+  MALLINFO_FIELD_TYPE hblkhd;   /* space in mmapped regions */
+  MALLINFO_FIELD_TYPE usmblks;  /* maximum total allocated space */
+  MALLINFO_FIELD_TYPE fsmblks;  /* always 0 */
+  MALLINFO_FIELD_TYPE uordblks; /* total allocated space */
+  MALLINFO_FIELD_TYPE fordblks; /* total free space */
+  MALLINFO_FIELD_TYPE keepcost; /* releasable (via malloc_trim) space */
+};
+
+#endif /* HAVE_USR_INCLUDE_MALLOC_H */
+
 #endif
 
 #endif /* MACHINE_H */
diff --git a/src/malloc.c b/src/malloc.c
index 034e644204..2cec7b1062 100644
--- a/src/malloc.c
+++ b/src/malloc.c
@@ -625,30 +625,13 @@ DEFAULT_MMAP_THRESHOLD       default: 256K
 
 /* #define HAVE_USR_INCLUDE_MALLOC_H */
 
-#ifdef HAVE_USR_INCLUDE_MALLOC_H
-#include "/usr/include/malloc.h"
-
 /* PIKE change start */
-#elif defined (HAVE_MALLOC_H) && defined (HAVE_STRUCT_MALLINFO)
-#include <malloc.h>
-/* PIKE change end */
 
-#else /* HAVE_USR_INCLUDE_MALLOC_H */
-
-struct mallinfo {
-  MALLINFO_FIELD_TYPE arena;    /* non-mmapped space allocated from system */
-  MALLINFO_FIELD_TYPE ordblks;  /* number of free chunks */
-  MALLINFO_FIELD_TYPE smblks;   /* always 0 */
-  MALLINFO_FIELD_TYPE hblks;    /* always 0 */
-  MALLINFO_FIELD_TYPE hblkhd;   /* space in mmapped regions */
-  MALLINFO_FIELD_TYPE usmblks;  /* maximum total allocated space */
-  MALLINFO_FIELD_TYPE fsmblks;  /* always 0 */
-  MALLINFO_FIELD_TYPE uordblks; /* total allocated space */
-  MALLINFO_FIELD_TYPE fordblks; /* total free space */
-  MALLINFO_FIELD_TYPE keepcost; /* releasable (via malloc_trim) space */
-};
+/* This is handled by global.h (aka acconfig.h) included
+ * at the top of the file.
+ */
 
-#endif /* HAVE_USR_INCLUDE_MALLOC_H */
+/* PIKE change end */
 #endif /* NO_MALLINFO */
 
 #ifdef __cplusplus
-- 
GitLab