From 37525351718fc1d72e21934c63f861a3e0d256fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= Date: Thu, 9 Jan 2025 12:55:18 +0100 Subject: [PATCH] hook: avoid macro expansion of the method names Fixes #4491 --- spa/include/spa/utils/hook.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/spa/include/spa/utils/hook.h b/spa/include/spa/utils/hook.h index 768e1af14..dbbb01976 100644 --- a/spa/include/spa/utils/hook.h +++ b/spa/include/spa/utils/hook.h @@ -166,14 +166,14 @@ struct spa_interface { const type *_f = (const type *) (callbacks)->funcs; \ bool _res = SPA_CALLBACK_CHECK(_f,method,vers); \ if (SPA_LIKELY(_res)) \ - _f->method((callbacks)->data, ## __VA_ARGS__); \ + (_f->method)((callbacks)->data, ## __VA_ARGS__); \ _res; \ }) #define spa_callbacks_call_fast(callbacks,type,method,vers,...) \ ({ \ const type *_f = (const type *) (callbacks)->funcs; \ - _f->method((callbacks)->data, ## __VA_ARGS__); \ + (_f->method)((callbacks)->data, ## __VA_ARGS__); \ true; \ }) @@ -207,13 +207,13 @@ struct spa_interface { ({ \ const type *_f = (const type *) (callbacks)->funcs; \ if (SPA_LIKELY(SPA_CALLBACK_CHECK(_f,method,vers))) \ - res = _f->method((callbacks)->data, ## __VA_ARGS__); \ + res = (_f->method)((callbacks)->data, ## __VA_ARGS__); \ res; \ }) #define spa_callbacks_call_fast_res(callbacks,type,res,method,vers,...) \ ({ \ const type *_f = (const type *) (callbacks)->funcs; \ - res = _f->method((callbacks)->data, ## __VA_ARGS__); \ + res = (_f->method)((callbacks)->data, ## __VA_ARGS__); \ }) /** @@ -257,18 +257,18 @@ struct spa_interface { #define spa_api_func_v(o,method,version,...) \ ({ \ if (SPA_LIKELY(SPA_CALLBACK_CHECK(o,method,version))) \ - (o)->method(o, ##__VA_ARGS__); \ + ((o)->method)(o, ##__VA_ARGS__); \ }) #define spa_api_func_r(rtype,def,o,method,version,...) \ ({ \ rtype _res = def; \ if (SPA_LIKELY(SPA_CALLBACK_CHECK(o,method,version))) \ - _res = (o)->method(o, ##__VA_ARGS__); \ + _res = ((o)->method)(o, ##__VA_ARGS__); \ _res; \ }) #define spa_api_func_fast(o,method,...) \ ({ \ - (o)->method(o, ##__VA_ARGS__); \ + ((o)->method)(o, ##__VA_ARGS__); \ }) #define spa_api_method_v(type,o,method,version,...) \