From: Markus Elfring <Markus.Elfring@web.de>
To: Coccinelle <cocci@systeme.lip6.fr>
Subject: [Cocci] Checking pretty-printing around a transformation for array_size()
Date: Tue, 15 Oct 2019 14:40:49 +0200 [thread overview]
Message-ID: <384c6657-5ddc-ff47-14e2-2ffad31295d2@web.de> (raw)
Hello,
I have tried another source code transformation approach out with
the software combination “Coccinelle 1.0.8-00004-g842075f7”.
@replacement@
expression count, item, source, target;
type t1, t2;
@@
target = kmemdup(source,
+ array_size(
(
sizeof(
- t1
+ *source
)
|
count
)
- *
+ ,
(
sizeof(
- t2
+ *source
)
|
item
)
+ )
, ...);
This small SmPL script can produce some “usable” results.
But I find the source code formatting occasionally questionable
according to the Linux coding style.
Example:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/mach-omap2/omap_device.c?id=5bc52f64e8841c4526d74f1073bfa95d4f6224d4#n348
https://elixir.bootlin.com/linux/v5.4-rc2/source/arch/arm/mach-omap2/omap_device.c#L348
elfring@Sonne:~/Projekte/Linux/next-patched> spatch arch/arm/mach-omap2/omap_device.c ~/Projekte/Coccinelle/janitor/use_array_size_for_kmemdup2.cocci
…
@@ -345,7 +345,7 @@ struct omap_device *omap_device_alloc(st
}
od->hwmods_cnt = oh_cnt;
- hwmods = kmemdup(ohs, sizeof(struct omap_hwmod *) * oh_cnt, GFP_KERNEL);
+ hwmods = kmemdup(ohs,array_size( sizeof(*ohs), oh_cnt), GFP_KERNEL);
if (!hwmods)
goto oda_exit2;
…
Would you like to clarify pretty-printing concerns?
Regards,
Markus
_______________________________________________
Cocci mailing list
Cocci@systeme.lip6.fr
https://systeme.lip6.fr/mailman/listinfo/cocci
next reply other threads:[~2019-10-15 12:41 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-15 12:40 Markus Elfring [this message]
2019-10-26 9:46 ` [Cocci] Checking placement of spaces for code changes with SmPL Markus Elfring
2019-10-26 12:45 ` Julia Lawall
2019-10-26 13:18 ` Markus Elfring
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=384c6657-5ddc-ff47-14e2-2ffad31295d2@web.de \
--to=markus.elfring@web.de \
--cc=cocci@systeme.lip6.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).