On Wed, Mar 21, 2018 at 3:28 PM, Eric Blake <[email protected]> wrote: > On 03/21/2018 08:40 AM, Marc-André Lureau wrote: >> >> Now that we can safely call QOBJECT() on QObject * and children types, >> we can have a single macro to ref/unref the object. >> >> Change the incref/decref prefix name for the more common ref/unref. > > > I know you did this by sed (for the most part); but it would be worth > including the command line you used in the commit message to make it easier > to reproduce the same mechanical portion of the patch when rebasing.
git sed QINCREF qobject_ref git sed QDECREF qobject_unref git sed qobject_incref qobject_ref git sed qobject_decref qobject_ref > >> >> Signed-off-by: Marc-André Lureau <[email protected]> >> --- > > >> +++ b/include/qapi/qmp/qobject.h > > >> @@ -74,13 +74,16 @@ qobject_unknown_type(const void *unused) >> (const QObject *, x), \ >> qobject_unknown_type(x)) >> -/* High-level interface for qobject_incref() */ >> -#define QINCREF(obj) \ >> - qobject_incref(QOBJECT(obj)) >> +/** >> + * qobject_ref(): Increment QObject's reference count >> + */ >> +#define qobject_ref(x) qobject_ref_impl(QOBJECT(x)) > > > The meat of the patch; looks fine to me. > >> +++ b/scripts/coccinelle/qobject.cocci >> @@ -3,11 +3,11 @@ >> expression Obj, Key, E; >> @@ >> ( >> -- qobject_incref(QOBJECT(E)); >> -+ QINCREF(E); >> +- qobject_ref(QOBJECT(E)); >> ++ qobject_ref(E); >> | >> -- qobject_decref(QOBJECT(E)); >> -+ QDECREF(E); >> +- qobject_unref(QOBJECT(E)); >> ++ qobject_unref(E); > > > I wonder if these branches should just be removed; they made sense when we > had two spellings, but after your mass conversion, the .cocci script is > unlikely to ever find regressions on this front. They would still remove extra cast, wouldn't they? thanks
