mirror of
https://github.com/systemd/systemd.git
synced 2024-11-23 10:13:34 +08:00
coccinelle: automatically look for timestamp_is_set candidates
Based on @mrc0mmand's Coccinelle skills, not mine. All credit is his. Co-authored-by: Frantisek Sumsal <frantisek@sumsal.cz>
This commit is contained in:
parent
cab4ed0f4a
commit
ec93eb48f2
73
coccinelle/timestamp-is-set.cocci
Normal file
73
coccinelle/timestamp-is-set.cocci
Normal file
@ -0,0 +1,73 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
@@
|
||||
expression x;
|
||||
constant USEC_INFINITY = USEC_INFINITY;
|
||||
/* We want to stick with the literal expression in the implementation of timestamp_is_set(), i.e. in time-util.c */
|
||||
position p : script:python() { p[0].file != "src/basic/time-util.h" };
|
||||
@@
|
||||
(
|
||||
- x > 0 && x < USEC_INFINITY
|
||||
+ timestamp_is_set(x)
|
||||
|
|
||||
- x < USEC_INFINITY && x > 0
|
||||
+ timestamp_is_set(x)
|
||||
|
|
||||
- x@p > 0 && x != USEC_INFINITY
|
||||
+ timestamp_is_set(x)
|
||||
|
|
||||
- x != USEC_INFINITY && x > 0
|
||||
+ timestamp_is_set(x)
|
||||
|
|
||||
- x != 0 && x < USEC_INFINITY
|
||||
+ timestamp_is_set(x)
|
||||
|
|
||||
- x < USEC_INFINITY && x != 0
|
||||
+ timestamp_is_set(x)
|
||||
|
|
||||
- x != 0 && x != USEC_INFINITY
|
||||
+ timestamp_is_set(x)
|
||||
|
|
||||
- x != USEC_INFINITY && x != 0
|
||||
+ timestamp_is_set(x)
|
||||
|
|
||||
- !IN_SET(x, 0, USEC_INFINITY)
|
||||
+ timestamp_is_set(x)
|
||||
|
|
||||
- !IN_SET(x, USEC_INFINITY, 0)
|
||||
+ timestamp_is_set(x)
|
||||
)
|
||||
@@
|
||||
expression x;
|
||||
constant USEC_INFINITY = USEC_INFINITY;
|
||||
@@
|
||||
(
|
||||
- x <= 0 || x >= USEC_INFINITY
|
||||
+ !timestamp_is_set(x)
|
||||
|
|
||||
- x >= USEC_INFINITY || x <= 0
|
||||
+ !timestamp_is_set(x)
|
||||
|
|
||||
- x <= 0 || x == USEC_INFINITY
|
||||
+ !timestamp_is_set(x)
|
||||
|
|
||||
- x == USEC_INFINITY || x <= 0
|
||||
+ !timestamp_is_set(x)
|
||||
|
|
||||
- x == 0 || x >= USEC_INFINITY
|
||||
+ !timestamp_is_set(x)
|
||||
|
|
||||
- x >= USEC_INFINITY || x == 0
|
||||
+ !timestamp_is_set(x)
|
||||
|
|
||||
- x == 0 || x == USEC_INFINITY
|
||||
+ !timestamp_is_set(x)
|
||||
|
|
||||
- x == USEC_INFINITY || x == 0
|
||||
+ !timestamp_is_set(x)
|
||||
|
|
||||
- IN_SET(x, 0, USEC_INFINITY)
|
||||
+ !timestamp_is_set(x)
|
||||
|
|
||||
- IN_SET(x, USEC_INFINITY, 0)
|
||||
+ !timestamp_is_set(x)
|
||||
)
|
Loading…
Reference in New Issue
Block a user