bbfdm/libbbfdm-api
Andreas Gnau df25ff7ce0
libbbfdm-api: proper parenthesis in macros
When using macros, both any occurence of arguments and the macro itself
have to be enclosed in parenthesis to prevent unintended behaviour with
operator precedence.

For now, only fix the one causing a -Wint-conversion warning in GCC 14
when using constructs like these, where two macros are used together and
expand to both two comparisons and two nested ternary expression.

dhcpmngr.c:502:41: error: pointer/integer type mismatch in conditional expression [-Wint-conversion]
 502 |  if (DM_STRCMP(parent_s, section_name(s)) != 0)

Given the very heavy use of macros in this project, there are probably
more instances of this issue in the code and it can cause actual logic
errors. While at it, double evaluation should also be checked for.

Link: http://web.archive.org/web/20140127211232/http://docs.freebsd.org/info/cpp/cpp.info.Macro_Parentheses.html
Link: https://clang.llvm.org/extra/clang-tidy/checks/bugprone/macro-parentheses.html
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2025-12-15 13:22:46 +01:00
..
legacy libbbfdm-api: proper parenthesis in macros 2025-12-15 13:22:46 +01:00
version-2 cmake: Fix compat with CMake 4 2025-12-15 13:20:50 +01:00
CMakeLists.txt cmake: Fix compat with CMake 4 2025-12-15 13:20:50 +01:00