[libvirt] [PATCH 03/14] xenconfig: Move guts of xenFormatSxprSound into xenFormatSound

Peter Krempa pkrempa at redhat.com
Wed Jul 3 12:37:55 UTC 2019


Use new coding style to merge the only use of xenFormatSxprSound into
the caller.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 src/libvirt_xenconfig.syms |  1 -
 src/xenconfig/xen_common.c | 35 ++++++++++++++++++++++-------------
 src/xenconfig/xen_sxpr.c   | 35 -----------------------------------
 src/xenconfig/xen_sxpr.h   |  1 -
 4 files changed, 22 insertions(+), 50 deletions(-)

diff --git a/src/libvirt_xenconfig.syms b/src/libvirt_xenconfig.syms
index 945f16e382..e9fab0a8d0 100644
--- a/src/libvirt_xenconfig.syms
+++ b/src/libvirt_xenconfig.syms
@@ -4,7 +4,6 @@

 # xenconfig/xen_sxpr.h
 xenFormatSxprChr;
-xenFormatSxprSound;
 xenGetDomIdFromSxpr;
 xenGetDomIdFromSxprString;
 xenParseSxpr;
diff --git a/src/xenconfig/xen_common.c b/src/xenconfig/xen_common.c
index 69a6f53507..059bf785bb 100644
--- a/src/xenconfig/xen_common.c
+++ b/src/xenconfig/xen_common.c
@@ -2006,25 +2006,34 @@ xenFormatVfb(virConfPtr conf, virDomainDefPtr def)
 static int
 xenFormatSound(virConfPtr conf, virDomainDefPtr def)
 {
-    if (def->os.type == VIR_DOMAIN_OSTYPE_HVM) {
-        if (def->sounds) {
-            virBuffer buf = VIR_BUFFER_INITIALIZER;
-            char *str = NULL;
-            int ret = xenFormatSxprSound(def, &buf);
+    VIR_AUTOCLEAN(virBuffer) buf = VIR_BUFFER_INITIALIZER;
+    const char * model;
+    VIR_AUTOFREE(char *) str = NULL;
+    size_t i;

-            str = virBufferContentAndReset(&buf);
-            if (ret == 0)
-                ret = xenConfigSetString(conf, "soundhw", str);
+    if (def->os.type != VIR_DOMAIN_OSTYPE_HVM ||
+        !def->sounds)
+        return 0;

-            VIR_FREE(str);
-            if (ret < 0)
-                return -1;
+    for (i = 0; i < def->nsounds; i++) {
+        if (!(model = virDomainSoundModelTypeToString(def->sounds[i]->model))) {
+            virReportError(VIR_ERR_INTERNAL_ERROR,
+                           _("unexpected sound model %d"),
+                           def->sounds[i]->model);
+            return -1;
         }
+        if (i)
+            virBufferAddChar(&buf, ',');
+        virBufferEscapeSexpr(&buf, "%s", model);
     }

-    return 0;
-}
+    if (virBufferCheckError(&buf) < 0)
+        return -1;

+    str = virBufferContentAndReset(&buf);
+
+    return xenConfigSetString(conf, "soundhw", str);
+}


 static int
diff --git a/src/xenconfig/xen_sxpr.c b/src/xenconfig/xen_sxpr.c
index d67a89efee..3a1c912963 100644
--- a/src/xenconfig/xen_sxpr.c
+++ b/src/xenconfig/xen_sxpr.c
@@ -1569,38 +1569,3 @@ xenFormatSxprChr(virDomainChrDefPtr def,

     return 0;
 }
-
-
-/**
- * xenFormatSxprSound:
- * @def: the domain config
- * @buf: a buffer for the result S-expression
- *
- * Convert all sound device parts of the domain config into S-expression in buf.
- *
- * Returns 0 if successful or -1 if failed.
- */
-int
-xenFormatSxprSound(virDomainDefPtr def,
-                   virBufferPtr buf)
-{
-    const char *str;
-    size_t i;
-
-    for (i = 0; i < def->nsounds; i++) {
-        if (!(str = virDomainSoundModelTypeToString(def->sounds[i]->model))) {
-            virReportError(VIR_ERR_INTERNAL_ERROR,
-                           _("unexpected sound model %d"),
-                           def->sounds[i]->model);
-            return -1;
-        }
-        if (i)
-            virBufferAddChar(buf, ',');
-        virBufferEscapeSexpr(buf, "%s", str);
-    }
-
-    if (virBufferCheckError(buf) < 0)
-        return -1;
-
-    return 0;
-}
diff --git a/src/xenconfig/xen_sxpr.h b/src/xenconfig/xen_sxpr.h
index 93af981544..7f66af6405 100644
--- a/src/xenconfig/xen_sxpr.h
+++ b/src/xenconfig/xen_sxpr.h
@@ -51,4 +51,3 @@ virDomainChrDefPtr xenParseSxprChar(const char *value, const char *tty);
 int xenParseSxprVifRate(const char *rate, unsigned long long *kbytes_per_sec);

 int xenFormatSxprChr(virDomainChrDefPtr def, virBufferPtr buf);
-int xenFormatSxprSound(virDomainDefPtr def, virBufferPtr buf);
-- 
2.21.0




More information about the libvir-list mailing list