--- /dev/null
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+#pragma once
+
+#include <malloc.h>
+
+#if HAVE_MALLINFO2
+# define HAVE_GENERIC_MALLINFO 1
+typedef struct mallinfo2 generic_mallinfo;
+static inline generic_mallinfo generic_mallinfo_get(void) {
+ return mallinfo2();
+}
+#elif HAVE_MALLINFO
+# define HAVE_GENERIC_MALLINFO 1
+typedef struct mallinfo generic_mallinfo;
+static inline generic_mallinfo generic_mallinfo_get(void) {
+ /* glibc has deprecated mallinfo(), let's suppress the deprecation warning if mallinfo2() doesn't
+ * exist yet. */
+DISABLE_WARNING_DEPRECATED_DECLARATIONS
+ return mallinfo();
+REENABLE_WARNING
+}
+#else
+# define HAVE_GENERIC_MALLINFO 0
+#endif
#include <errno.h>
#include <fcntl.h>
-#include <malloc.h>
#include <stddef.h>
#include <string.h>
#include <sys/stat.h>
#include "fd-util.h"
#include "log.h"
#include "macro.h"
+#include "mallinfo-util.h"
#include "path-util.h"
#include "selinux-util.h"
#include "stdio-util.h"
}
#if HAVE_SELINUX
-# if HAVE_MALLINFO2
-# define HAVE_GENERIC_MALLINFO 1
-typedef struct mallinfo2 generic_mallinfo;
-static generic_mallinfo generic_mallinfo_get(void) {
- return mallinfo2();
-}
-# elif HAVE_MALLINFO
-# define HAVE_GENERIC_MALLINFO 1
-typedef struct mallinfo generic_mallinfo;
-static generic_mallinfo generic_mallinfo_get(void) {
- /* glibc has deprecated mallinfo(), let's suppress the deprecation warning if mallinfo2() doesn't
- * exist yet. */
-DISABLE_WARNING_DEPRECATED_DECLARATIONS
- return mallinfo();
-REENABLE_WARNING
-}
-# else
-# define HAVE_GENERIC_MALLINFO 0
-# endif
-
static int open_label_db(void) {
struct selabel_handle *hnd;
usec_t before_timestamp, after_timestamp;