| From 233de872b9b033ec842c2135152d2e006ac44c16 Mon Sep 17 00:00:00 2001 |
| From: Chen Qi <Qi.Chen@windriver.com> |
| Date: Mon, 25 Feb 2019 13:55:12 +0800 |
| Subject: [PATCH] missing_type.h: add __compare_fn_t and comparison_fn_t |
| |
| Make it work with musl where comparison_fn_t and __compare_fn_t |
| is not provided. |
| |
| Upstream-Status: Inappropriate [musl specific] |
| |
| Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> |
| [Rebased for v244] |
| Signed-off-by: Chen Qi <Qi.Chen@windriver.com> |
| [Rebased for v242] |
| Signed-off-by: Andrej Valek <andrej.valek@siemens.com> |
| |
| --- |
| src/basic/missing_type.h | 9 +++++++++ |
| src/basic/sort-util.h | 1 + |
| src/core/kmod-setup.c | 1 + |
| src/journal/catalog.c | 1 + |
| 4 files changed, 12 insertions(+) |
| |
| diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h |
| index bf8a6caa1b46..c487e65e7bde 100644 |
| --- a/src/basic/missing_type.h |
| +++ b/src/basic/missing_type.h |
| @@ -10,3 +10,12 @@ |
| #if !HAVE_CHAR16_T |
| #define char16_t uint16_t |
| #endif |
| + |
| +#ifndef __GLIBC__ |
| +typedef int (*comparison_fn_t)(const void *, const void *); |
| +#endif |
| + |
| +#ifndef __COMPAR_FN_T |
| +#define __COMPAR_FN_T |
| +typedef int (*__compar_fn_t)(const void *, const void *); |
| +#endif |
| diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h |
| index 27d68b341cf3..307ea4ac0e8e 100644 |
| --- a/src/basic/sort-util.h |
| +++ b/src/basic/sort-util.h |
| @@ -4,6 +4,7 @@ |
| #include <stdlib.h> |
| |
| #include "macro.h" |
| +#include "missing_type.h" |
| |
| void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size, |
| __compar_d_fn_t compar, void *arg); |
| diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c |
| index 128674327362..09ccd613e32c 100644 |
| --- a/src/core/kmod-setup.c |
| +++ b/src/core/kmod-setup.c |
| @@ -10,6 +10,7 @@ |
| #include "kmod-setup.h" |
| #include "macro.h" |
| #include "string-util.h" |
| +#include "missing_type.h" |
| |
| #if HAVE_KMOD |
| #include "module-util.h" |
| diff --git a/src/journal/catalog.c b/src/journal/catalog.c |
| index 70b2c8b46c4e..d574a64586f1 100644 |
| --- a/src/journal/catalog.c |
| +++ b/src/journal/catalog.c |
| @@ -28,6 +28,7 @@ |
| #include "string-util.h" |
| #include "strv.h" |
| #include "tmpfile-util.h" |
| +#include "missing_type.h" |
| |
| const char * const catalog_file_dirs[] = { |
| "/usr/local/lib/systemd/catalog/", |