diff options
author | Daniel Mack <github@zonque.org> | 2015-09-08 15:53:56 +0200 |
---|---|---|
committer | Daniel Mack <github@zonque.org> | 2015-09-08 15:53:56 +0200 |
commit | da323858ef34a0216aa96f4089810053c90f09ce (patch) | |
tree | 6255edf3ad93f2ce0cee28856ec3de90915caccd /src/shared | |
parent | 4211d5bd135ae4c43bd2012ae5f327b1cc1596c0 (diff) | |
parent | 75f86906c52735c98dc0aa7e24b773edb42ee814 (diff) |
Merge pull request #1190 from poettering/rework-virt
basic: rework virtualization detection API
Diffstat (limited to 'src/shared')
-rw-r--r-- | src/shared/condition.c | 9 | ||||
-rw-r--r-- | src/shared/efivars.c | 2 |
2 files changed, 5 insertions, 6 deletions
diff --git a/src/shared/condition.c b/src/shared/condition.c index f58e84a3d0..1d7dd49e04 100644 --- a/src/shared/condition.c +++ b/src/shared/condition.c @@ -125,13 +125,12 @@ static int condition_test_kernel_command_line(Condition *c) { static int condition_test_virtualization(Condition *c) { int b, v; - const char *id; assert(c); assert(c->parameter); assert(c->type == CONDITION_VIRTUALIZATION); - v = detect_virtualization(&id); + v = detect_virtualization(); if (v < 0) return v; @@ -145,14 +144,14 @@ static int condition_test_virtualization(Condition *c) { return true; /* Then, compare categorization */ - if (v == VIRTUALIZATION_VM && streq(c->parameter, "vm")) + if (VIRTUALIZATION_IS_VM(v) && streq(c->parameter, "vm")) return true; - if (v == VIRTUALIZATION_CONTAINER && streq(c->parameter, "container")) + if (VIRTUALIZATION_IS_CONTAINER(v) && streq(c->parameter, "container")) return true; /* Finally compare id */ - return v > 0 && streq(c->parameter, id); + return v != VIRTUALIZATION_NONE && streq(c->parameter, virtualization_to_string(v)); } static int condition_test_architecture(Condition *c) { diff --git a/src/shared/efivars.c b/src/shared/efivars.c index 347cd30b09..f087c2a566 100644 --- a/src/shared/efivars.c +++ b/src/shared/efivars.c @@ -101,7 +101,7 @@ int efi_reboot_to_firmware_supported(void) { uint64_t b; _cleanup_free_ void *v = NULL; - if (!is_efi_boot() || detect_container(NULL) > 0) + if (!is_efi_boot() || detect_container() > 0) return -EOPNOTSUPP; r = efi_get_variable(EFI_VENDOR_GLOBAL, "OsIndicationsSupported", NULL, &v, &s); |