]> git.ipfire.org Git - thirdparty/systemd.git/commit
coccinelle: ignore macro transformations in the macros themselves
authorFrantisek Sumsal <frantisek@sumsal.cz>
Sun, 28 Apr 2019 13:03:47 +0000 (15:03 +0200)
committerFrantisek Sumsal <frantisek@sumsal.cz>
Sun, 28 Apr 2019 20:11:15 +0000 (22:11 +0200)
commit33af88cf70fce38a39642e92609cfba655925d55
tree67f5296bbd8d6adb6de0658273ab825b10adf257
parent55033662f94baa3a1d0019f0f8398bd9d481e6be
coccinelle: ignore macro transformations in the macros themselves

For example, the following transformation:

- sizeof(s)-1
+ STRLEN(s)

would replace sizeof by STRLEN even in the STRLEN macro definition
itself, which generates following nonsensical patch:

--- src/basic/macro.h
+++ /tmp/cocci-output-8753-b50773-macro.h
@@ -182,7 +182,7 @@ static inline unsigned long ALIGN_POWER2
  *          Contrary to strlen(), this is a constant expression.
  * @x: a string literal.
  */
-#define STRLEN(x) (sizeof(""x"") - 1)
+#define STRLEN(x) (STRLEN("" x ""))

 /*
  * container_of - cast a member of a structure out to the containing structure

Let's exclude the macro itself from the transformation to avoid this
coccinelle/const-strlen.cocci
coccinelle/debug-logging.cocci
coccinelle/memzero.cocci