| From 4afb8adc83348bf75964fc10af7902e04dd62637 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/libsystemd/sd-journal/catalog.c | 1 + |
| 4 files changed, 12 insertions(+) |
| |
| diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h |
| index f6233090a9..aeaf6ad5ec 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 d92a5ab0ed..a63867c716 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 8a7f82812a..a56f12f47f 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/libsystemd/sd-journal/catalog.c b/src/libsystemd/sd-journal/catalog.c |
| index aea3241d18..75e6c56a28 100644 |
| --- a/src/libsystemd/sd-journal/catalog.c |
| +++ b/src/libsystemd/sd-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/", |