From 30ff23c0e2979ba21a72a4f73a617ba37227c706 Mon Sep 17 00:00:00 2001 From: susisstrolch Date: Tue, 24 Nov 2015 15:46:28 +0100 Subject: [PATCH] espmissingincludes.h encapsulate os_printf macro with do/while to avoid unwanted side effects during macro expansion --- include/espmissingincludes.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/include/espmissingincludes.h b/include/espmissingincludes.h index 5161862..2c35965 100644 --- a/include/espmissingincludes.h +++ b/include/espmissingincludes.h @@ -53,10 +53,11 @@ int os_snprintf(char *str, size_t size, const char *format, ...) __attribute__(( int os_printf_plus(const char *format, ...) __attribute__((format(printf, 1, 2))); #undef os_printf -#define os_printf(format, ...) \ - system_set_os_print(true); \ - os_printf_plus(format, ## __VA_ARGS__); \ - system_set_os_print(DEBUG_SDK); // int os_printf(const char *format, ...) +#define os_printf(format, ...) do { \ + system_set_os_print(true); \ + os_printf_plus(format, ## __VA_ARGS__); \ + system_set_os_print(DEBUG_SDK); \ + } while (0) // memory allocation functions are "different" due to memory debugging functionality