]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
util: move mallinfo compat glue from selinux code into generic code
authorLennart Poettering <lennart@poettering.net>
Fri, 10 Feb 2023 15:55:06 +0000 (16:55 +0100)
committerLuca Boccassi <luca.boccassi@gmail.com>
Fri, 17 Feb 2023 23:45:23 +0000 (23:45 +0000)
src/basic/mallinfo-util.h [new file with mode: 0644]
src/shared/selinux-util.c

diff --git a/src/basic/mallinfo-util.h b/src/basic/mallinfo-util.h
new file mode 100644 (file)
index 0000000..7fa9dd5
--- /dev/null
@@ -0,0 +1,24 @@
+/* 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
index a74883ab81ef4c5b2eacfedcfae126ef8cce0444..cc00a85952c4d4146db49a64c1b15bb2e4be87da 100644 (file)
@@ -2,7 +2,6 @@
 
 #include <errno.h>
 #include <fcntl.h>
-#include <malloc.h>
 #include <stddef.h>
 #include <string.h>
 #include <sys/stat.h>
@@ -23,6 +22,7 @@
 #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"
@@ -92,26 +92,6 @@ void mac_selinux_retest(void) {
 }
 
 #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;