blob: a51ab0ab2eec178d2fd5df38347e2e87e89bcce2 [file] [log] [blame]
Andrew Geisslereff27472021-10-29 15:35:00 -05001From 4dba0a3b1372ce34d8b6e150a108123a1b2b0b96 Mon Sep 17 00:00:00 2001
Brad Bishop19323692019-04-05 15:28:33 -04002From: Chen Qi <Qi.Chen@windriver.com>
3Date: Mon, 25 Feb 2019 13:55:12 +0800
William A. Kennington IIIac69b482021-06-02 12:28:27 -07004Subject: [PATCH] missing_type.h: add __compare_fn_t and comparison_fn_t
Brad Bishop19323692019-04-05 15:28:33 -04005
6Make it work with musl where comparison_fn_t and __compare_fn_t
7is not provided.
8
9Upstream-Status: Inappropriate [musl specific]
10
Andrew Geissler82c905d2020-04-13 13:39:40 -050011Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
12[Rebased for v244]
Brad Bishop19323692019-04-05 15:28:33 -040013Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Brad Bishopc342db32019-05-15 21:57:59 -040014[Rebased for v242]
15Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
William A. Kennington IIIac69b482021-06-02 12:28:27 -070016
Brad Bishop19323692019-04-05 15:28:33 -040017---
William A. Kennington IIIac69b482021-06-02 12:28:27 -070018 src/basic/missing_type.h | 9 +++++++++
19 src/basic/sort-util.h | 1 +
20 src/core/kmod-setup.c | 1 +
21 src/libsystemd/sd-journal/catalog.c | 1 +
Andrew Geissler82c905d2020-04-13 13:39:40 -050022 4 files changed, 12 insertions(+)
Brad Bishop19323692019-04-05 15:28:33 -040023
24diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
Andrew Geisslerd1e89492021-02-12 15:35:20 -060025index f6233090a9..aeaf6ad5ec 100644
Brad Bishop19323692019-04-05 15:28:33 -040026--- a/src/basic/missing_type.h
27+++ b/src/basic/missing_type.h
28@@ -10,3 +10,12 @@
29 #if !HAVE_CHAR16_T
30 #define char16_t uint16_t
31 #endif
32+
33+#ifndef __GLIBC__
34+typedef int (*comparison_fn_t)(const void *, const void *);
35+#endif
36+
37+#ifndef __COMPAR_FN_T
38+#define __COMPAR_FN_T
39+typedef int (*__compar_fn_t)(const void *, const void *);
40+#endif
Brad Bishopc342db32019-05-15 21:57:59 -040041diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
William A. Kennington IIIac69b482021-06-02 12:28:27 -070042index d92a5ab0ed..a63867c716 100644
Brad Bishopc342db32019-05-15 21:57:59 -040043--- a/src/basic/sort-util.h
44+++ b/src/basic/sort-util.h
45@@ -4,6 +4,7 @@
46 #include <stdlib.h>
47
Brad Bishop19323692019-04-05 15:28:33 -040048 #include "macro.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -050049+#include "missing_type.h"
Brad Bishop19323692019-04-05 15:28:33 -040050
Brad Bishopc342db32019-05-15 21:57:59 -040051 void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size,
52 __compar_d_fn_t compar, void *arg);
Andrew Geissler82c905d2020-04-13 13:39:40 -050053diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
Andrew Geisslerd1e89492021-02-12 15:35:20 -060054index 8a7f82812a..a56f12f47f 100644
Andrew Geissler82c905d2020-04-13 13:39:40 -050055--- a/src/core/kmod-setup.c
56+++ b/src/core/kmod-setup.c
57@@ -10,6 +10,7 @@
58 #include "kmod-setup.h"
59 #include "macro.h"
60 #include "string-util.h"
61+#include "missing_type.h"
62
63 #if HAVE_KMOD
64 #include "module-util.h"
William A. Kennington IIIac69b482021-06-02 12:28:27 -070065diff --git a/src/libsystemd/sd-journal/catalog.c b/src/libsystemd/sd-journal/catalog.c
Andrew Geisslerd159c7f2021-09-02 21:05:58 -050066index ce8d47ccc3..00845f9776 100644
William A. Kennington IIIac69b482021-06-02 12:28:27 -070067--- a/src/libsystemd/sd-journal/catalog.c
68+++ b/src/libsystemd/sd-journal/catalog.c
Andrew Geissler82c905d2020-04-13 13:39:40 -050069@@ -28,6 +28,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -040070 #include "string-util.h"
Brad Bishop19323692019-04-05 15:28:33 -040071 #include "strv.h"
72 #include "tmpfile-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -050073+#include "missing_type.h"
Brad Bishop19323692019-04-05 15:28:33 -040074
75 const char * const catalog_file_dirs[] = {
76 "/usr/local/lib/systemd/catalog/",