mirror of
https://github.com/systemd/systemd.git
synced 2024-11-05 06:52:22 +03:00
60d9959dd8
For example, following transformation: - isempty(s) ? NULL : s + empty_to_null(s) would get applied to the empty_to_null function itself as well, causing an infinite recursion, like: --- src/basic/string-util.h +++ /tmp/cocci-output-307-9f76e6-string-util.h @@ -50,11 +50,11 @@ static inline bool isempty(const char *p } static inline const char *empty_to_null(const char *p) { - return isempty(p) ? NULL : p; + return empty_to_null(p); } Let's avoid that by checking the current match position
9 lines
217 B
Plaintext
9 lines
217 B
Plaintext
@@
|
|
/* Avoid running this transformation on the empty_to_null function itself */
|
|
position p : script:python() { p[0].current_element != "empty_to_null" };
|
|
expression s;
|
|
@@
|
|
|
|
- isempty@p(s) ? NULL : s
|
|
+ empty_to_null(s)
|