From a1bdcfa3ca8af4ddb69ee57d716aa943cf3fe94a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 16 May 2020 16:33:18 +0200 Subject: New upstream version 3.25 --- include/libHX/defs.h | 29 +++++++---------------------- include/libHX/libxml_helper.h | 1 - include/libHX/misc.h | 2 -- include/libHX/string.h | 6 ++++-- 4 files changed, 11 insertions(+), 27 deletions(-) (limited to 'include') diff --git a/include/libHX/defs.h b/include/libHX/defs.h index 9ecdd32..1ace518 100644 --- a/include/libHX/defs.h +++ b/include/libHX/defs.h @@ -2,23 +2,14 @@ #define _LIBHX_DEFS_H 1 #ifdef __cplusplus -# define FIELD_SIZEOF(type, member) \ - sizeof(static_cast(NULL)->member) -# define HXsizeof_member(type, member) FIELD_SIZEOF(type, member) -# define HXtypeof_member(type, member) \ - __typeof__(static_cast(NULL)->member) -# if defined(__GNUC__) && __GNUC__ >= 4 && !defined(offsetof) - /* - * This is here so most programs can skip inclusion - * of stddef.h just to get offsetof. - */ -# define offsetof(type, member) __builtin_offsetof(type, member) -# endif -# ifndef offsetof -# define offsetof(type, member) \ - reinterpret_cast(&(static_cast(NULL)->member)) +# define HXsizeof_member(type, member) sizeof(type::member) +# if __cplusplus >= 201100L +# define HXtypeof_member(type, member) decltype(type::member) +# else +# define HXtypeof_member(type, member) __typeof__(type::member)) # endif # ifndef containerof +# include # define containerof(var, type, member) reinterpret_cast( \ reinterpret_cast(var) - offsetof(type, member)) # endif @@ -139,14 +130,8 @@ static __inline__ new_type signed_cast(unsigned char *expr) # ifndef reinterpret_cast # define reinterpret_cast(type, expr) ((type)(expr)) # endif -# if defined(__GNUC__) && __GNUC__ >= 4 && !defined(offsetof) -# define offsetof(type, member) __builtin_offsetof(type, member) -# endif -# ifndef offsetof -# define offsetof(type, member) \ - reinterpret_cast(long, &(static_cast(type *, NULL)->member)) -# endif # ifndef containerof +# include # define containerof(var, type, member) reinterpret_cast(type *, \ reinterpret_cast(char *, var) - offsetof(type, member)) # endif diff --git a/include/libHX/libxml_helper.h b/include/libHX/libxml_helper.h index 599ede1..ebe5613 100644 --- a/include/libHX/libxml_helper.h +++ b/include/libHX/libxml_helper.h @@ -6,7 +6,6 @@ #else # include #endif -#include #include #ifdef __cplusplus diff --git a/include/libHX/misc.h b/include/libHX/misc.h index 3f68917..adebf22 100644 --- a/include/libHX/misc.h +++ b/include/libHX/misc.h @@ -11,8 +11,6 @@ # include # include #endif -#include -#include #ifdef __cplusplus extern "C" { diff --git a/include/libHX/string.h b/include/libHX/string.h index f7146b5..4dc4c11 100644 --- a/include/libHX/string.h +++ b/include/libHX/string.h @@ -66,8 +66,10 @@ extern char *HX_dirname(const char *); extern hxmc_t *HX_getl(hxmc_t **, FILE *); extern void *HX_memmem(const void *, size_t, const void *, size_t); extern char **HX_split(const char *, const char *, int *, int); -extern char **HX_split4(char *, const char *, int *, int); -extern int HX_split5(char *, const char *, int, char **); +extern int HX_split_fixed(char *, const char *, int, char **); +extern char **HX_split_inplace(char *, const char *, int *, int); +#define HX_split4(a, b, c, d) HX_split_inplace((a), (b), (c), (d)) +#define HX_split5(a, b, c, d) HX_split_fixed((a), (b), (c), (d)) extern char *HX_strbchr(const char *, const char *, char); extern char *HX_strchr2(const char *, const char *); extern char *HX_strclone(char **, const char *); -- cgit v1.2.3