From 2420023b74d843e4a31c356ab106ac88fbb4b822 Mon Sep 17 00:00:00 2001 From: Maximilian Wilhelm Date: Tue, 28 Jul 2020 22:37:41 +0200 Subject: [PATCH] Add comparator wrapper and type cast values properly. Signed-off-by: Maximilian Wilhelm --- Makefile | 1 + libifupdown/compar.c | 26 ++++++++++++++++++++++++++ libifupdown/compar.h | 21 +++++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 libifupdown/compar.c create mode 100644 libifupdown/compar.h diff --git a/Makefile b/Makefile index ccd016e..d0eca05 100644 --- a/Makefile +++ b/Makefile @@ -25,6 +25,7 @@ CPPFLAGS += -DEXECUTOR_PATH=\"${EXECUTOR_PATH}\" LIBIFUPDOWN_SRC = \ + libifupdown/compar.c \ libifupdown/list.c \ libifupdown/dict.c \ libifupdown/interface.c \ diff --git a/libifupdown/compar.c b/libifupdown/compar.c new file mode 100644 index 0000000..8705404 --- /dev/null +++ b/libifupdown/compar.c @@ -0,0 +1,26 @@ +/* + * libifupdown/compar.c + * Purpose: comparators + * + * Copyright (c) 2020 Maximilian Wilhelm + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * This software is provided 'as is' and without any warranty, express or + * implied. In no event shall the authors be liable for any damages arising + * from the use of this software. + */ + +#include +#include "libifupdown/compar.h" + +int +compar_str (const void *a, const void *b) +{ + const char *str_a = (const char *)a; + const char *str_b = (const char *)b; + + return strcmp (str_a, str_b); +} diff --git a/libifupdown/compar.h b/libifupdown/compar.h new file mode 100644 index 0000000..8652a26 --- /dev/null +++ b/libifupdown/compar.h @@ -0,0 +1,21 @@ +/* + * libifupdown/compar.h + * Purpose: Comparators + * + * Copyright (c) 2020 Maximilian Wilhelm + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * This software is provided 'as is' and without any warranty, express or + * implied. In no event shall the authors be liable for any damages arising + * from the use of this software. + */ + +#ifndef LIBIFUPDOWN_COMPAR_H__GUARD +#define LIBIFUPDOWN_COMPAR_H__GUARD + +int compar_str (const void *a, const void *b); + +#endif