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 > Cocci@systeme.lip6.fr > https://systeme.lip6.fr/mailman/listinfo/cocci >