Eric Blake <ebl...@redhat.com> writes: > On 6/24/20 11:43 AM, Markus Armbruster wrote: >> The object_property_set_FOO() setters take property name and value in >> an unusual order: >> >> void object_property_set_FOO(Object *obj, FOO_TYPE value, >> const char *name, Error **errp) >> >> Having to pass value before name feels grating. Swap them. >> >> Same for object_property_set(), object_property_get(), and >> object_property_parse(). >> >> Convert callers with this Coccinelle script: >> >> @@ >> identifier fun = {object_property_get, object_property_parse, >> object_property_set_str, object_property_set_link, object_property_set_bool, >> object_property_set_int, object_property_set_uint, object_property_set, >> object_property_set_qobject}; >> expression obj, v, name, errp; >> @@ >> - fun(obj, v, name, errp) >> + fun(obj, name, v, errp) >> >> Chokes on hw/arm/musicpal.c's lcd_refresh() with the unhelpful error >> message "no position information". Convert that one manually. >> >> Fails to convert hw/arm/armsse.c, because Coccinelle gets confused by >> ARMSSE being used both as typedef and function-like macro there. >> Convert manually. >> >> Fails to convert hw/rx/rx-gdbsim.c, because Coccinelle gets confused >> by RXCPU being used both as typedef and function-like macro there. >> Convert manually. Convert that one manually. The other files using >> RXCPU that way don't need conversion. >> >> Signed-off-by: Markus Armbruster <arm...@redhat.com> >> --- > >> 136 files changed, 702 insertions(+), 729 deletions(-) > > Big but mechanical. > > Reviewed-by: Eric Blake <ebl...@redhat.com> > > This one might be a semantic conflict magnet with patches written in > the meantime;
You bet! > I guess the trick is to check that 'git grep' finds as > many calls to any of the functions listed as conversions. I throw away the old patch and rerun Coccinelle. Works except when I rebase onto changes to the files containing the functions that change, because my Coccinelle script only updates calls, not definitions. Hasn't been an issue so far.