[libvirt] [PATCH v2 1/7] Deal with CPU models in []

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Qemu committed a patch which list some CPU names in [] when asked for
supported CPUs (qemu -cpu ?). Yet, it needs such CPUs to be passed
without those square braces. When probing for supported CPU models, we
can just strip the square braces and pretend we have never seen them.
---
 src/qemu/qemu_conf.c |   17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
index 0cbedf2..63f264e 100644
--- a/src/qemu/qemu_conf.c
+++ b/src/qemu/qemu_conf.c
@@ -628,7 +628,9 @@ typedef int
                        const char ***retcpus);
 
 /* Format:
- * <arch> <model>
+ *      <arch> <model>
+ * qemu-0.13 encloses some model names in []:
+ *      <arch> [<model>]
  */
 static int
 qemudParseX86Models(const char *output,
@@ -661,15 +663,22 @@ qemudParseX86Models(const char *output,
             continue;
 
         if (retcpus) {
+            unsigned int len;
+
             if (VIR_REALLOC_N(cpus, count + 1) < 0)
                 goto error;
 
             if (next)
-                cpus[count] = strndup(p, next - p - 1);
+                len = next - p - 1;
             else
-                cpus[count] = strdup(p);
+                len = strlen(p);
+
+            if (len > 2 && *p == '[' && p[len - 1] == ']') {
+                p++;
+                len -= 2;
+            }
 
-            if (!cpus[count])
+            if (!(cpus[count] = strndup(p, len)))
                 goto error;
         }
         count++;
-- 
1.7.0.4

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]