There's no need for the hasbase/hasaltbase confusion, just store the first binary path found in a variable. * src/qemu_conf.c: kill hasbase/hasaltbase logic in qemudCapsInitGuest() --- src/qemu_conf.c | 17 +++++++++-------- 1 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/qemu_conf.c b/src/qemu_conf.c index 96f83cb..4bd511a 100644 --- a/src/qemu_conf.c +++ b/src/qemu_conf.c @@ -309,17 +309,18 @@ qemudCapsInitGuest(virCapsPtr caps, int hvm) { virCapsGuestPtr guest; int i; - int hasbase = 0; - int hasaltbase = 0; int haskvm = 0; int haskqemu = 0; const char *kvmbin = NULL; + const char *binary = NULL; /* Check for existance of base emulator, or alternate base * which can be used with magic cpu choice */ - hasbase = (access(info->binary, X_OK) == 0); - hasaltbase = (info->altbinary && access(info->altbinary, X_OK) == 0); + if (access(info->binary, X_OK) == 0) + binary = info->binary; + else if (info->altbinary && access(info->altbinary, X_OK) == 0) + binary = info->altbinary; /* Can use acceleration for KVM/KQEMU if * - host & guest arches match @@ -337,6 +338,8 @@ qemudCapsInitGuest(virCapsPtr caps, access("/dev/kvm", F_OK) == 0) { haskvm = 1; kvmbin = kvmbins[i]; + if (!binary) + binary = kvmbin; break; } } @@ -345,8 +348,7 @@ qemudCapsInitGuest(virCapsPtr caps, haskqemu = 1; } - - if (!hasbase && !hasaltbase && !haskvm) + if (!binary) return 0; /* We register kvm as the base emulator too, since we can @@ -355,8 +357,7 @@ qemudCapsInitGuest(virCapsPtr caps, hvm ? "hvm" : "xen", info->arch, info->wordsize, - (hasbase ? info->binary : - (hasaltbase ? info->altbinary : kvmbin)), + binary, NULL, info->nmachines, info->machines)) == NULL) -- 1.6.2.5 -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list