
On Mon, Mar 22, 2021 at 01:23:28PM +0100, Michal Privoznik wrote:
On 3/19/21 4:57 PM, Tim Wiederhake wrote:
Convenience function to return value of an on / off attribute.
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/libvirt_private.syms | 1 + src/util/virxml.c | 41 ++++++++++++++++++++++++++++++++++++++++ src/util/virxml.h | 6 +++++- 3 files changed, 47 insertions(+), 1 deletion(-)
diff --git a/src/util/virxml.h b/src/util/virxml.h index 3041c37df3..e844cb0713 100644 --- a/src/util/virxml.h +++ b/src/util/virxml.h @@ -80,8 +80,12 @@ char * virXMLPropStringLimit(xmlNodePtr node, char * virXMLNodeContentString(xmlNodePtr node); int virXMLPropTristateBool(xmlNodePtr node, const char *name, - bool mandatory, + bool required, virTristateBool *result);
I guess this doesn't belong here. I'll squash it into the previous patch.
I wonder if we should avoid the boolean arg entirely though. Looking at a call if (virXMLPropTristateBool(node, "foo", true, &result) < 0) you have no idea whether "true" means mandatory or optional unless you're very familiar with the code. In GTK/GNOME they generally discourage use of bool parameters in favour of enums for this reason. eg they would have a VIR_XML_TRISTATE_REQUIRED enum flag. This is quite verbose though, so perhaps we can just use trivial wrapper methods: virXMLPropTristateRequiredBool virXMLPropTristateOptionalBool Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|