blob: c28c8381e8261137cc8207b0a37a313baefd409c [file] [log] [blame]
Andrew Geisslerd5838332022-05-27 11:33:10 -05001From 5513b918d02900a3a78fd0e0300a118b163edfef 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 Geisslerd5838332022-05-27 11:33:10 -05004Subject: [PATCH] missing_type.h: add comparison_fn_t
Brad Bishop19323692019-04-05 15:28:33 -04005
Andrew Geisslerd5838332022-05-27 11:33:10 -05006Make it work with musl where comparison_fn_t and is not provided.
Brad Bishop19323692019-04-05 15:28:33 -04007
8Upstream-Status: Inappropriate [musl specific]
9
Andrew Geissler82c905d2020-04-13 13:39:40 -050010Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
11[Rebased for v244]
Brad Bishop19323692019-04-05 15:28:33 -040012Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Brad Bishopc342db32019-05-15 21:57:59 -040013[Rebased for v242]
14Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Andrew Geisslerd5838332022-05-27 11:33:10 -050015[Rebased for v250, Drop __compare_fn_t]
16Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
Brad Bishop19323692019-04-05 15:28:33 -040017---
Andrew Geisslerd5838332022-05-27 11:33:10 -050018 src/basic/missing_type.h | 4 ++++
William A. Kennington IIIac69b482021-06-02 12:28:27 -070019 src/basic/sort-util.h | 1 +
William A. Kennington IIIac69b482021-06-02 12:28:27 -070020 src/libsystemd/sd-journal/catalog.c | 1 +
Andrew Geisslerd5838332022-05-27 11:33:10 -050021 3 files changed, 6 insertions(+)
Brad Bishop19323692019-04-05 15:28:33 -040022
Andrew Geisslerd5838332022-05-27 11:33:10 -050023diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
24index f6233090a9..6c0456349d 100644
Brad Bishop19323692019-04-05 15:28:33 -040025--- a/src/basic/missing_type.h
26+++ b/src/basic/missing_type.h
Andrew Geisslerd5838332022-05-27 11:33:10 -050027@@ -10,3 +10,7 @@
Brad Bishop19323692019-04-05 15:28:33 -040028 #if !HAVE_CHAR16_T
29 #define char16_t uint16_t
30 #endif
31+
32+#ifndef __GLIBC__
33+typedef int (*comparison_fn_t)(const void *, const void *);
34+#endif
Andrew Geisslerd5838332022-05-27 11:33:10 -050035diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
36index 02a6784d99..0b33c83d59 100644
Brad Bishopc342db32019-05-15 21:57:59 -040037--- a/src/basic/sort-util.h
38+++ b/src/basic/sort-util.h
39@@ -4,6 +4,7 @@
40 #include <stdlib.h>
41
Brad Bishop19323692019-04-05 15:28:33 -040042 #include "macro.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -050043+#include "missing_type.h"
Brad Bishop19323692019-04-05 15:28:33 -040044
Andrew Geissler7e0e3c02022-02-25 20:34:39 +000045 /* This is the same as glibc's internal __compar_d_fn_t type. glibc exports a public comparison_fn_t, for the
46 * external type __compar_fn_t, but doesn't do anything similar for __compar_d_fn_t. Let's hence do that
Andrew Geisslerd5838332022-05-27 11:33:10 -050047diff --git a/src/libsystemd/sd-journal/catalog.c b/src/libsystemd/sd-journal/catalog.c
48index 8fc87b131a..36a6efdbd8 100644
William A. Kennington IIIac69b482021-06-02 12:28:27 -070049--- a/src/libsystemd/sd-journal/catalog.c
50+++ b/src/libsystemd/sd-journal/catalog.c
Andrew Geissler82c905d2020-04-13 13:39:40 -050051@@ -28,6 +28,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -040052 #include "string-util.h"
Brad Bishop19323692019-04-05 15:28:33 -040053 #include "strv.h"
54 #include "tmpfile-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -050055+#include "missing_type.h"
Brad Bishop19323692019-04-05 15:28:33 -040056
57 const char * const catalog_file_dirs[] = {
58 "/usr/local/lib/systemd/catalog/",
Andrew Geisslerd5838332022-05-27 11:33:10 -050059--
602.34.1
61