logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git

0001-Avoid-statement-expressions-in-container_of-macro.patch (1459B)


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