[libvirt] [PATCH v2 1/4] util: Add functions to simplify bool->virTristate(Bool|Switch) assignment

Peter Krempa pkrempa at redhat.com
Thu Oct 5 12:06:17 UTC 2017


virTristateBoolFromBool and virTristateSwitchFromBool convert a boolean
to the correct enum value.
---
 src/libvirt_private.syms |  2 ++
 src/util/virutil.c       | 20 ++++++++++++++++++++
 src/util/virutil.h       |  3 +++
 3 files changed, 25 insertions(+)

diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 7a12d6a14..9243c5591 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -2950,8 +2950,10 @@ virSetNonBlock;
 virSetSockReuseAddr;
 virSetUIDGID;
 virSetUIDGIDWithCaps;
+virTristateBoolFromBool;
 virTristateBoolTypeFromString;
 virTristateBoolTypeToString;
+virTristateSwitchFromBool;
 virTristateSwitchTypeFromString;
 virTristateSwitchTypeToString;
 virUpdateSelfLastChanged;
diff --git a/src/util/virutil.c b/src/util/virutil.c
index e08f9fa4a..170e92192 100644
--- a/src/util/virutil.c
+++ b/src/util/virutil.c
@@ -100,6 +100,26 @@ VIR_ENUM_IMPL(virTristateSwitch, VIR_TRISTATE_SWITCH_LAST,
               "off")


+virTristateBool
+virTristateBoolFromBool(bool val)
+{
+    if (val)
+        return VIR_TRISTATE_BOOL_YES;
+    else
+        return VIR_TRISTATE_BOOL_NO;
+}
+
+
+virTristateSwitch
+virTristateSwitchFromBool(bool val)
+{
+    if (val)
+        return VIR_TRISTATE_SWITCH_ON;
+    else
+        return VIR_TRISTATE_SWITCH_OFF;
+}
+
+
 #ifndef WIN32

 int virSetInherit(int fd, bool inherit)
diff --git a/src/util/virutil.h b/src/util/virutil.h
index 49382557f..a862a8a63 100644
--- a/src/util/virutil.h
+++ b/src/util/virutil.h
@@ -193,6 +193,9 @@ typedef enum {
 VIR_ENUM_DECL(virTristateBool)
 VIR_ENUM_DECL(virTristateSwitch)

+virTristateBool virTristateBoolFromBool(bool val);
+virTristateSwitch virTristateSwitchFromBool(bool val);
+
 /* the two enums must be in sync to be able to use helpers interchangeably in
  * some special cases */
 verify((int)VIR_TRISTATE_BOOL_YES == (int)VIR_TRISTATE_SWITCH_ON);
-- 
2.14.1




More information about the libvir-list mailing list