0001-Avoid-statement-expressions-in-container_of-macro.patch (1459B)
- 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