On Fri, Jun 02, 2017 at 06:17:17 -0400, John Ferlan wrote: > If virObjectIsClass fails "internally" to virobject.c, create a macro to > generate the VIR_WARN describing what the problem is. Also improve the > checks and message a bit to indicate which was the failure - whether the > obj was NULL or just not the right class > > Signed-off-by: John Ferlan <jferlan@xxxxxxxxxx> > --- > src/util/virobject.c | 16 +++++++++++----- > 1 file changed, 11 insertions(+), 5 deletions(-) > > diff --git a/src/util/virobject.c b/src/util/virobject.c > index 34805d3..9f5f187 100644 > --- a/src/util/virobject.c > +++ b/src/util/virobject.c > @@ -47,6 +47,16 @@ struct _virClass { > virObjectDisposeCallback dispose; > }; > > +#define VIR_OBJECT_USAGE_PRINT_WARNING(anyobj, objclass) \ > + do { \ > + virObjectPtr obj = anyobj; \ > + if (!obj) \ > + VIR_WARN("Object %p is not a virObject class instance", anyobj);\ Is this really helpful? Object (nil) is not a virObject class instance. %p does not make sense since it's always NULL, and also obviously a null pointer is not a class instance ...
Attachment:
signature.asc
Description: PGP signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list