blob: 140489514335e2200514e55cca70bb3e2a6dd36d [file] [log] [blame]
Andrew Geissler706d5aa2021-02-12 15:55:30 -06001From 233de872b9b033ec842c2135152d2e006ac44c16 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
Andrew Geissler706d5aa2021-02-12 15:55:30 -06004Subject: [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>
Andrew Geissler706d5aa2021-02-12 15:55:30 -060016
Brad Bishop19323692019-04-05 15:28:33 -040017---
18 src/basic/missing_type.h | 9 +++++++++
Brad Bishopc342db32019-05-15 21:57:59 -040019 src/basic/sort-util.h | 1 +
Andrew Geissler82c905d2020-04-13 13:39:40 -050020 src/core/kmod-setup.c | 1 +
Brad Bishop19323692019-04-05 15:28:33 -040021 src/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 Geissler706d5aa2021-02-12 15:55:30 -060025index bf8a6caa1b46..c487e65e7bde 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
Andrew Geissler706d5aa2021-02-12 15:55:30 -060042index 27d68b341cf3..307ea4ac0e8e 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 Geissler706d5aa2021-02-12 15:55:30 -060054index 128674327362..09ccd613e32c 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"
Brad Bishop19323692019-04-05 15:28:33 -040065diff --git a/src/journal/catalog.c b/src/journal/catalog.c
Andrew Geissler706d5aa2021-02-12 15:55:30 -060066index 70b2c8b46c4e..d574a64586f1 100644
Brad Bishop19323692019-04-05 15:28:33 -040067--- a/src/journal/catalog.c
68+++ b/src/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/",