> Did you try it?

Yes.

elfring@Sonne:~/Projekte/Linux/next-patched> spatch.opt -sp-file 
~/Projekte/Coccinelle/janitor/show_lengths_for_if_statements2.cocci 
drivers/staging/ks7010/ks7010_sdio.c
init_defs_builtins: /usr/local/lib64/coccinelle/standard.h
minus: parse error: 
  File 
"/home/elfring/Projekte/Coccinelle/janitor/show_lengths_for_if_statements2.cocci",
 line 6, column 4, charpos = 89
  around = 'is',
  whole content =     is


> I think you would need braces around is and es.

Another SmPL approach:

@lengths@
statement list [if_count] isl;
statement list [else_count] esl;
@@
 if (...)
    { isl }
 else
    { esl }

@script:python display@
if_n << lengths.if_count;
else_n << lengths.else_count;
@@
print("{0}|{1}".format(if_n, else_n))


elfring@Sonne:~/Projekte/Linux/next-patched> spatch.opt -sp-file 
~/Projekte/Coccinelle/janitor/show_lengths_for_if_statements3.cocci 
drivers/staging/ks7010/ks7010_sdio.c
init_defs_builtins: /usr/local/lib64/coccinelle/standard.h
Cannot resolve PyUnicodeUCS2_AsEncodedString.


How should this surprise be fixed?


> Otherwise, the result would always be 1, because there can only be one
> statement in each branch of an if.

Can the number of "steps" that were stored by a metavariable of the
type "statement" also be determined anyhow?

Regards,
Markus
_______________________________________________
Cocci mailing list
[email protected]
https://systeme.lip6.fr/mailman/listinfo/cocci

Reply via email to