]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - coccinelle/strempty.cocci
libudev: hide definition of struct udev_list from other libudev components
[thirdparty/systemd.git] / coccinelle / strempty.cocci
index e3bd0a1f560e309205387fbe4298daa505861c9f..7901da3652ce7bb4c9d023e2ffaf7cb84b15ac5d 100644 (file)
@@ -1,10 +1,60 @@
 @@
+/* Avoid running this transformation on the strempty function itself */
+position p : script:python() { p[0].current_element != "strempty" };
 expression s;
 @@
-- s ?: ""
+(
+- s@p ?: ""
 + strempty(s)
+|
+- s@p ? s : ""
++ strempty(s)
+)
+
 @@
+position p : script:python() { p[0].current_element != "strempty" };
 expression s;
 @@
-- s ? s : ""
-+ strempty(s)
+- if (!s@p)
+-         s = "";
++ s = strempty(s);
+
+@@
+position p : script:python() { p[0].current_element != "strnull" };
+expression s;
+@@
+(
+- s@p ?: "(null)"
++ strnull(s)
+|
+- s@p ? s : "(null)"
++ strnull(s)
+)
+
+@@
+position p : script:python() { p[0].current_element != "strnull" };
+expression s;
+@@
+- if (!s@p)
+-         s = "(null)";
++ s = strnull(s);
+
+@@
+position p : script:python() { p[0].current_element != "strna" };
+expression s;
+@@
+(
+- s@p ?: "n/a"
++ strna(s)
+|
+- s@p ? s : "n/a"
++ strna(s)
+)
+
+@@
+position p : script:python() { p[0].current_element != "strna" };
+expression s;
+@@
+- if (!s@p)
+-         s = "n/a";
++ s = strna(s);