On Fri, 12 Apr 2019, Markus Elfring wrote:
> Hello,
>
> I have tried another small SmPL script out.
>
>
> @display@
> identifier work;
> statement s1, s2;
> type T;
> @@
> T work(...)
> {
> ... when any
> *{
> ... when any
> * s1
> * s2
> *}
> ... when any
> }
>
>
> I have observed then that the following diff hunk was generated.
>
>
> elfring@Sonne:~/Projekte/Linux/next-patched> spatch
> ~/Projekte/Coccinelle/janitor/show_last_two_statements_in_a_block.cocci
> drivers/net/ethernet/ti/netcp_ethss.c|less
> …
> @@ -3015,11 +2859,6 @@ static int init_slave(struct gbe_priv *g
> }
>
> if (of_property_read_u32(node, "link-interface",
> - &slave->link_interface)) {
> - dev_warn(gbe_dev->dev,
> - "missing link-interface value defaulting to 1G
> mac-phy link\n");
> - slave->link_interface = SGMII_LINK_MAC_PHY;
> - }
>
> slave->node = node;
> slave->open = false;
> …
>
>
> Now I wonder about the suggested change for the if statement here.
> Should any more software adjustments be considered so that it will be avoided
> to delete only a questionable part from a function call within a condition
> check?
I don't understand the problem. You put *s on the { } and two statements,
and you get - on the lines that contain the { } and the two statements.
Nothing is being deleted anyway. The -s are just a concise way to
indicate the lines on which you requested a match with the *s. If you
want something more fine grained, use position variables and implement the
display you want in python code.
julia
>
> Regards,
> Markus
> _______________________________________________
> Cocci mailing list
> [email protected]
> https://systeme.lip6.fr/mailman/listinfo/cocci
>_______________________________________________
Cocci mailing list
[email protected]
https://systeme.lip6.fr/mailman/listinfo/cocci