diff mbox

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

Message ID 1439486267-18516-1-git-send-email-paulo.r.zanoni@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Zanoni, Paulo R Aug. 13, 2015, 5:17 p.m. UTC
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@intel.com>
---
 lib/igt_core.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Dave Gordon Aug. 17, 2015, 4:42 p.m. UTC | #1
On 13/08/15 18:17, Paulo Zanoni wrote:
> 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@intel.com>

Reviewed-by: Dave Gordon <david.s.gordon@intel.com>

... and I found a similar issue in the i915 driver's macros; see the 
patch I just posted:

[PATCH] drm/i915: fix driver's versions of WARN_ON & WARN_ON_ONCE

.Dave.
diff mbox

Patch

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 */