[libvirt] [PATCH 3/6] Deal with CPU models in []
Jiri Denemark
jdenemar at redhat.com
Fri Apr 16 17:01:41 UTC 2010
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..8577ff1 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>
+ * recent qemu 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
More information about the libvir-list
mailing list