[Intel-gfx] [PATCH igt] lib/igt_core: use print("%s", #expr) instead of print(#expr)

Paulo Zanoni paulo.r.zanoni at intel.com
Thu Aug 13 10:17:47 PDT 2015


If I have a program with the following:

    igt_skip_on(i % 2 == 0);
    igt_skip_on_f(i % 2 == 0, "i:%d\n", i);
    igt_require(i % 2 == 0);
    igt_require_f(i % 2 == 0, "i:%d\n", i);

then I'll get compiler error messages complaining about format
conversions related to the '%' character used in the mod operation. So
put the whole string as a %s argument to avoid interpreting '%' and
any other possible chars.

Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
---
 lib/igt_core.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/lib/igt_core.h b/lib/igt_core.h
index 1d77f45..f8bfbf0 100644
--- a/lib/igt_core.h
+++ b/lib/igt_core.h
@@ -491,7 +491,7 @@ void igt_exit(void) __attribute__((noreturn));
  */
 #define igt_require(expr) do { \
 	if (!(expr)) igt_skip_check(#expr , NULL); \
-	else igt_debug("Test requirement passed: "#expr"\n"); \
+	else igt_debug("Test requirement passed: %s\n", #expr); \
 } while (0)
 
 /**
@@ -506,7 +506,7 @@ void igt_exit(void) __attribute__((noreturn));
  */
 #define igt_skip_on(expr) do { \
 	if ((expr)) igt_skip_check("!(" #expr ")" , NULL); \
-	else igt_debug("Test requirement passed: !("#expr")\n"); \
+	else igt_debug("Test requirement passed: !(%s)\n", #expr); \
 } while (0)
 
 /**
@@ -525,7 +525,7 @@ void igt_exit(void) __attribute__((noreturn));
  */
 #define igt_require_f(expr, f...) do { \
 	if (!(expr)) igt_skip_check(#expr , f); \
-	else igt_debug("Test requirement passed: "#expr"\n"); \
+	else igt_debug("Test requirement passed: %s\n", #expr); \
 } while (0)
 
 /**
@@ -544,7 +544,7 @@ void igt_exit(void) __attribute__((noreturn));
  */
 #define igt_skip_on_f(expr, f...) do { \
 	if ((expr)) igt_skip_check("!("#expr")", f); \
-	else igt_debug("Test requirement passed: !("#expr")\n"); \
+	else igt_debug("Test requirement passed: !(%s)\n", #expr); \
 } while (0)
 
 /* fork support code */
-- 
2.4.6



More information about the Intel-gfx mailing list