master hovercats/oakiss / pkg / fuse / patch / 0001-Avoid-statement-expressions-in-container_of-macro.patch
 1From 374d50ca9322cefef0e2405c0189fb8e13838a3a Mon Sep 17 00:00:00 2001
 2From: Michael Forney <mforney@mforney.org>
 3Date: Mon, 17 Jun 2019 23:21:39 -0700
 4Subject: [PATCH] Avoid statement expressions in container_of macro
 5
 6---
 7 lib/fuse.c          | 5 ++---
 8 lib/fuse_lowlevel.c | 5 ++---
 9 2 files changed, 4 insertions(+), 6 deletions(-)
10
11diff --git a/lib/fuse.c b/lib/fuse.c
12index a95d7c1..1c7ddbe 100644
13--- a/lib/fuse.c
14+++ b/lib/fuse.c
15@@ -93,9 +93,8 @@ struct node_table {
16 	size_t split;
17 };
18 
19-#define container_of(ptr, type, member) ({                              \
20-			const typeof( ((type *)0)->member ) *__mptr = (ptr); \
21-			(type *)( (char *)__mptr - offsetof(type,member) );})
22+#define container_of(ptr, type, member)         \
23+	((type *)((char *)ptr - offsetof(type,member)))
24 
25 #define list_entry(ptr, type, member)           \
26 	container_of(ptr, type, member)
27diff --git a/lib/fuse_lowlevel.c b/lib/fuse_lowlevel.c
28index d227688..ccf52d0 100644
29--- a/lib/fuse_lowlevel.c
30+++ b/lib/fuse_lowlevel.c
31@@ -39,9 +39,8 @@
32 #define PARAM(inarg) (((char *)(inarg)) + sizeof(*(inarg)))
33 #define OFFSET_MAX 0x7fffffffffffffffLL
34 
35-#define container_of(ptr, type, member) ({				\
36-			const typeof( ((type *)0)->member ) *__mptr = (ptr); \
37-			(type *)( (char *)__mptr - offsetof(type,member) );})
38+#define container_of(ptr, type, member)         \
39+	((type *)((char *)ptr - offsetof(type,member)))
40 
41 struct fuse_pollhandle {
42 	uint64_t kh;
43-- 
442.32.0
45