Hi all,
I have a situation where I'm trying to use Coccinelle to both rename one
function to another, and at the same time modify the number of arguments.
I have a function called:
func_old(ERR, "func_name", "%s message", charstring);
Which is therefore variadic. In terms of argument ordering func_old() takes:
1. log-level type
2. the calling function
3. A variadic string
I'm wanting to replace func_old() with func_new() such that it looks like
this:
func_new("%s: %s message", __func__, charstring);
Hence, func_new() reduces the number of arguments to just one -- a format
string, and variadic arguments.
My question is how would I go about trying to get coccinelle to help me
translate this? Is this even possible? I have tried:
@@
expression O1, O2, O3
@@
- func_old(O1, O2, O3, ...);
But I don't know how to convert what would be O2 to '__func__'. When calling
func_new(), there is no explicit O2 parameter from func_old(), it should be
part of the format string, hence:
+ func_new("%s: ...", __func__, O3);
I suspect I might be stretching coccinelle's abilities in trying to craft new
parameters, but I thought I'd ask.
Apologies if this is convoluted. If I can help answer any additional
questions, or if something's not clear, let me know.
TIA!
Thomas
_______________________________________________
Cocci mailing list
[email protected]
https://systeme.lip6.fr/mailman/listinfo/cocci