On 1/8/2010 7:13 PM, Carl-Daniel Hailfinger wrote:
This slipped through the review. The msg_* macros won't compile as is if
you use more than one parameter (i.e. have a format string and a variable).
There are two alternative styles: GNU or C99 variadic macros. While C99
has limitations compared to the GNU extensions, these limitations do not
affect our macros, so I decided to go with the standard way.

I adjusted whitespace a bit to have aligned values (cosmetic change).

Signed-off-by: Carl-Daniel Hailfinger<[email protected]>

Index: flashrom-msg_macro_fix/flash.h
===================================================================
--- flashrom-msg_macro_fix/flash.h      (Revision 839)
+++ flashrom-msg_macro_fix/flash.h      (Arbeitskopie)
@@ -506,22 +506,22 @@

  /* cli_output.c */
  int print(int type, const char *fmt, ...);
-#define MSG_ERROR 0
-#define MSG_INFO 1
-#define MSG_DEBUG 2
-#define MSG_BARF 3
-#define msg_gerr(x) print(MSG_ERROR, x) /* general errors */
-#define msg_perr(x) print(MSG_ERROR, x) /* programmer errors */
-#define msg_cerr(x) print(MSG_ERROR, x) /* chip errors */
-#define msg_ginfo(x) print(MSG_INFO, x) /* general info */
-#define msg_pinfo(x) print(MSG_INFO, x) /* programmer info */
-#define msg_cinfo(x) print(MSG_INFO, x) /* chip info */
-#define msg_gdbg(x) print(MSG_DEBUG, x) /* general debug */
-#define msg_pdbg(x) print(MSG_DEBUG, x) /* programmer debug */
-#define msg_cdbg(x) print(MSG_DEBUG, x) /* chip debug */
-#define msg_gspew(x) print(MSG_BARF, x) /* general debug barf  */
-#define msg_pspew(x) print(MSG_BARF, x) /* programmer debug barf  */
-#define msg_cspew(x) print(MSG_BARF, x) /* chip debug barf  */
+#define MSG_ERROR      0
+#define MSG_INFO       1
+#define MSG_DEBUG      2
+#define MSG_BARF       3
+#define msg_gerr(...)  print(MSG_ERROR, __VA_ARGS__)   /* general errors */
+#define msg_perr(...)  print(MSG_ERROR, __VA_ARGS__)   /* programmer errors */
+#define msg_cerr(...)  print(MSG_ERROR, __VA_ARGS__)   /* chip errors */
+#define msg_ginfo(...) print(MSG_INFO, __VA_ARGS__)    /* general info */
+#define msg_pinfo(...) print(MSG_INFO, __VA_ARGS__)    /* programmer info */
+#define msg_cinfo(...) print(MSG_INFO, __VA_ARGS__)    /* chip info */
+#define msg_gdbg(...)  print(MSG_DEBUG, __VA_ARGS__)   /* general debug */
+#define msg_pdbg(...)  print(MSG_DEBUG, __VA_ARGS__)   /* programmer debug */
+#define msg_cdbg(...)  print(MSG_DEBUG, __VA_ARGS__)   /* chip debug */
+#define msg_gspew(...) print(MSG_BARF, __VA_ARGS__)    /* general debug barf  
*/
+#define msg_pspew(...) print(MSG_BARF, __VA_ARGS__)    /* programmer debug 
barf  */
+#define msg_cspew(...) print(MSG_BARF, __VA_ARGS__)    /* chip debug barf  */

  /* cli_classic.c */
  int cli_classic(int argc, char *argv[]);


.... I didn't even know about that, kinda strange that flashrom compiled fine on my system. i686-apple-darwin10-gcc-4.2.1

Acked-by: Sean Nelson <[email protected]>

_______________________________________________
flashrom mailing list
[email protected]
http://www.flashrom.org/mailman/listinfo/flashrom

Reply via email to