* tests/test_nlattr.h (TEST_NLATTR_OBJECT_EX_, TEST_NLATTR_OBJECT_EX): New macros. (TEST_NLATTR_OBJECT): Use TEST_NLATTR_OBJECT_EX_. --- tests/test_nlattr.h | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-)
diff --git a/tests/test_nlattr.h b/tests/test_nlattr.h index 4585893..5df9b92 100644 --- a/tests/test_nlattr.h +++ b/tests/test_nlattr.h @@ -96,9 +96,10 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) (nla_type_), #nla_type_, \ (nla_data_len_), (src_), (slen_), __VA_ARGS__) -#define TEST_NLATTR_OBJECT(fd_, nlh0_, hdrlen_, \ - init_msg_, print_msg_, \ - nla_type_, pattern_, obj_, ...) \ +#define TEST_NLATTR_OBJECT_EX_(fd_, nlh0_, hdrlen_, \ + init_msg_, print_msg_, \ + nla_type_, nla_type_str_, \ + pattern_, obj_, fallback_func, ...) \ do { \ const unsigned int plen = \ sizeof(obj_) - 1 > DEFAULT_STRLEN \ @@ -106,13 +107,13 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) /* len < sizeof(obj_) */ \ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \ (init_msg_), (print_msg_), \ - (nla_type_), #nla_type_, \ + (nla_type_), (nla_type_str_), \ plen, (pattern_), plen, \ - print_quoted_hex((pattern_), plen)); \ + fallback_func((pattern_), plen)); \ /* short read of sizeof(obj_) */ \ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \ (init_msg_), (print_msg_), \ - (nla_type_), #nla_type_, \ + (nla_type_), (nla_type_str_), \ sizeof(obj_), \ (pattern_), sizeof(obj_) - 1, \ printf("%p", \ @@ -120,12 +121,31 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) /* sizeof(obj_) */ \ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \ (init_msg_), (print_msg_), \ - (nla_type_), #nla_type_, \ + (nla_type_), (nla_type_str_), \ sizeof(obj_), \ &(obj_), sizeof(obj_), \ __VA_ARGS__); \ } while (0) +#define TEST_NLATTR_OBJECT_EX(fd_, nlh0_, hdrlen_, \ + init_msg_, print_msg_, \ + nla_type_, \ + pattern_, obj_, fallback_func, ...) \ + TEST_NLATTR_OBJECT_EX_((fd_), (nlh0_), (hdrlen_), \ + (init_msg_), (print_msg_), \ + (nla_type_), #nla_type_, \ + (pattern_), (obj_), (fallback_func), \ + __VA_ARGS__) + +#define TEST_NLATTR_OBJECT(fd_, nlh0_, hdrlen_, \ + init_msg_, print_msg_, \ + nla_type_, pattern_, obj_, ...) \ + TEST_NLATTR_OBJECT_EX_((fd_), (nlh0_), (hdrlen_), \ + (init_msg_), (print_msg_), \ + (nla_type_), #nla_type_, \ + (pattern_), (obj_), print_quoted_hex, \ + __VA_ARGS__) + #define TEST_NLATTR_ARRAY(fd_, nlh0_, hdrlen_, \ init_msg_, print_msg_, \ nla_type_, pattern_, obj_, print_elem_) \ -- 2.7.4 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel