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