summaryrefslogtreecommitdiff
path: root/pkg/fuse/patch/0001-Avoid-statement-expressions-in-container_of-macro.patch
blob: faf1127411beeed95dc0470ead1f5b598394628d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
From 374d50ca9322cefef0e2405c0189fb8e13838a3a Mon Sep 17 00:00:00 2001
From: Michael Forney <mforney@mforney.org>
Date: Mon, 17 Jun 2019 23:21:39 -0700
Subject: [PATCH] Avoid statement expressions in container_of macro

---
 lib/fuse.c          | 5 ++---
 lib/fuse_lowlevel.c | 5 ++---
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/lib/fuse.c b/lib/fuse.c
index a95d7c1..1c7ddbe 100644
--- a/lib/fuse.c
+++ b/lib/fuse.c
@@ -93,9 +93,8 @@ struct node_table {
 	size_t split;
 };
 
-#define container_of(ptr, type, member) ({                              \
-			const typeof( ((type *)0)->member ) *__mptr = (ptr); \
-			(type *)( (char *)__mptr - offsetof(type,member) );})
+#define container_of(ptr, type, member)         \
+	((type *)((char *)ptr - offsetof(type,member)))
 
 #define list_entry(ptr, type, member)           \
 	container_of(ptr, type, member)
diff --git a/lib/fuse_lowlevel.c b/lib/fuse_lowlevel.c
index d227688..ccf52d0 100644
--- a/lib/fuse_lowlevel.c
+++ b/lib/fuse_lowlevel.c
@@ -39,9 +39,8 @@
 #define PARAM(inarg) (((char *)(inarg)) + sizeof(*(inarg)))
 #define OFFSET_MAX 0x7fffffffffffffffLL
 
-#define container_of(ptr, type, member) ({				\
-			const typeof( ((type *)0)->member ) *__mptr = (ptr); \
-			(type *)( (char *)__mptr - offsetof(type,member) );})
+#define container_of(ptr, type, member)         \
+	((type *)((char *)ptr - offsetof(type,member)))
 
 struct fuse_pollhandle {
 	uint64_t kh;
-- 
2.32.0