Stefan Reinauer (stefan.reinauer@coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/1730
-gerrit
commit 259a3eadf5b8c758b7f30e7b6182c1d50b3d6f87 Author: Gabe Black gabeblack@google.com Date: Tue Oct 2 00:28:33 2012 -0700
libpayload: Fix the format string of the assert macro.
The assert macro in libpayload was using a format string which printed the line number with %s. The line number came from the __LINE__ predefined macro which resolves to an integer constant.
Change-Id: I0e00d42a1569802137cf440af3061d7f397fdd27 Signed-off-by: Gabe Black gabeblack@google.com --- payloads/libpayload/include/assert.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/payloads/libpayload/include/assert.h b/payloads/libpayload/include/assert.h index 9968504..8502881 100644 --- a/payloads/libpayload/include/assert.h +++ b/payloads/libpayload/include/assert.h @@ -36,5 +36,11 @@ // Heisenbugs appear if statement has side-effects. This could be worked around but does the standard allow for that? #define assert(statement) #else -#define assert(statement) if ((statement) == 0) { fprintf(stderr, "assertion failed in file %s, function %s(), line %s\n", __FILE__, __FUNCTION__, __LINE__); abort(); } +#define assert(statement) \ + if ((statement) == 0) { \ + fprintf(stderr, "assertion failed in file %s, " \ + "function %s(), line %d\n", \ + __FILE__, __FUNCTION__, __LINE__); \ + abort(); \ + } #endif