38 lines
1.2 KiB
Diff
38 lines
1.2 KiB
Diff
From 4f0a30f4e05e140e1325784195e79c5ec62c689c Mon Sep 17 00:00:00 2001
|
|
From: Christine Caulfield <ccaulfie@redhat.com>
|
|
Date: Mon, 17 Feb 2020 16:28:57 +0000
|
|
Subject: [PATCH] list: fix list handling for gcc10
|
|
|
|
---
|
|
configure.ac | 1 -
|
|
include/qb/qblist.h | 4 ++--
|
|
2 files changed, 2 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index ec8736cb..108b2f18 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -558,7 +558,6 @@
|
|
suggest-attribute=noreturn
|
|
suggest-attribute=format
|
|
strict-prototypes
|
|
- pointer-arith
|
|
write-strings
|
|
cast-align
|
|
bad-function-cast
|
|
diff --git a/include/qb/qblist.h b/include/qb/qblist.h
|
|
index e3ae3f18..8064c874 100644
|
|
--- a/include/qb/qblist.h
|
|
+++ b/include/qb/qblist.h
|
|
@@ -193,8 +193,8 @@ static inline void qb_list_splice_tail(struct qb_list_head *list,
|
|
* @param type: the type of the struct this is embedded in.
|
|
* @param member: the name of the list_struct within the struct.
|
|
*/
|
|
-#define qb_list_entry(ptr,type,member)\
|
|
- ((type *)((char *)(ptr)-(char*)(&((type *)0)->member)))
|
|
+#define qb_list_entry(ptr,type,member) ({ \
|
|
+ ((type *)((void*)ptr - offsetof(type, member))); })
|
|
|
|
/**
|
|
* Get the first element from a list
|