__pr_printk is a define which uses a local variable 'ret'. This
means that whenever someone does a pr_*("ret: %d\n", ret);
ret will be 0.

Fix this by writing this without a local variable.

Signed-off-by: Sascha Hauer <s.ha...@pengutronix.de>
---
 include/printk.h | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/include/printk.h b/include/printk.h
index 3de8905..3cd7335 100644
--- a/include/printk.h
+++ b/include/printk.h
@@ -46,10 +46,7 @@ int dev_printf(const struct device_d *dev, const char 
*format, ...)
 
 #define __pr_printk(level, format, args...) \
        ({      \
-               int ret = 0;    \
-               if (level <= LOGLEVEL) \
-                       ret = printk(format, ##args);   \
-               ret;                                    \
+               (level) <= LOGLEVEL ? printk((format), ##args) : 0; \
         })
 
 #ifndef pr_fmt
-- 
1.8.2.rc2


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to