[PATCH 05/11] conf: Fix type of @present in _virDomainTimerDef struct

Ján Tomko jtomko at redhat.com
Mon Jan 24 14:13:16 UTC 2022


On a Monday in 2022, Michal Privoznik wrote:
>In the _virDomainTimerDef structure we have @present member which
>is like virTristateBool, except it's an integer and has values
>shifted by one. This is harder to read. Retype the member to
>virTristateBool which we are familiar with.
>
>Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
>---
> src/conf/domain_conf.c   | 27 ++++++++++-----------------
> src/conf/domain_conf.h   |  2 +-
> src/libxl/libxl_conf.c   |  2 +-
> src/libxl/xen_common.c   | 13 +++++++++----
> src/lxc/lxc_cgroup.c     |  2 +-
> src/lxc/lxc_controller.c |  2 +-
> src/qemu/qemu_command.c  | 20 ++++++++++----------
> src/qemu/qemu_validate.c |  6 +++---
> 8 files changed, 36 insertions(+), 38 deletions(-)
>
>diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
>index bb887d4a3b..fbe21c4fd2 100644
>--- a/src/conf/domain_conf.c
>+++ b/src/conf/domain_conf.c
>@@ -20481,8 +20474,9 @@ virDomainTimerDefCheckABIStability(virDomainTimerDef *src,
>
>     if (src->present != dst->present) {
>         virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
>-                       _("Target timer presence %d does not match source %d"),
>-                       dst->present, src->present);
>+                       _("Target timer presence %s does not match source %s"),

Since you're changing the translatable message, please add apostrophes
around the %s specifiers.

>+                       virTristateBoolTypeToString(dst->present),
>+                       virTristateBoolTypeToString(src->present));
>         return false;
>     }
>
>@@ -26119,10 +26113,9 @@ virDomainTimerDefFormat(virBuffer *buf,
>     }
>     virBufferAsprintf(buf, "<timer name='%s'", name);
>
>-    if (def->present == 0) {
>-        virBufferAddLit(buf, " present='no'");
>-    } else if (def->present == 1) {
>-        virBufferAddLit(buf, " present='yes'");
>+    if (def->present) {

Consider the more explicit
def->present != VIR_TRISTATE_BOOL_ABSENT

>+        virBufferAsprintf(buf, " present='%s'",
>+                          virTristateBoolTypeToString(def->present));
>     }
>
>     if (def->tickpolicy != -1) {
>@@ -625,7 +625,11 @@ xenParseHypervisorFeatures(virConf *conf, virDomainDef *def)
>
>             timer = g_new0(virDomainTimerDef, 1);
>             timer->name = VIR_DOMAIN_TIMER_NAME_HPET;
>-            timer->present = val;
>+            if (val == 1) {
>+                timer->present = VIR_TRISTATE_BOOL_YES;
>+            } else {
>+                timer->present = VIR_TRISTATE_BOOL_NO;
>+            }

You can use virTristateBoolFromBool - we're inside if (val != -1)

>             timer->tickpolicy = -1;
>             timer->mode = -1;
>             timer->track = -1;

Jano
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20220124/cb3b8755/attachment-0001.sig>


More information about the libvir-list mailing list