From: Zbigniew Jędrzejewski-Szmek Date: Sun, 8 May 2022 10:49:19 +0000 (+0200) Subject: basic/virt: use STRV_FOREACH instead of iteration with ELEMENTSOF X-Git-Tag: v251-rc3~38^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a9d178d28b437121041b95039e40cdf6804f7482;p=thirdparty%2Fsystemd.git basic/virt: use STRV_FOREACH instead of iteration with ELEMENTSOF I think it's a bit simpler, we don't have two indexes. --- diff --git a/src/basic/virt.c b/src/basic/virt.c index b3c1ebf3d81..c7ae2afc006 100644 --- a/src/basic/virt.c +++ b/src/basic/virt.c @@ -143,12 +143,13 @@ static Virtualization detect_vm_device_tree(void) { #if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || defined(__loongarch64) static Virtualization detect_vm_dmi_vendor(void) { - static const char *const dmi_vendors[] = { + static const char* const dmi_vendors[] = { "/sys/class/dmi/id/product_name", /* Test this before sys_vendor to detect KVM over QEMU */ "/sys/class/dmi/id/sys_vendor", "/sys/class/dmi/id/board_vendor", "/sys/class/dmi/id/bios_vendor", - "/sys/class/dmi/id/product_version" /* For Hyper-V VMs test */ + "/sys/class/dmi/id/product_version", /* For Hyper-V VMs test */ + NULL }; static const struct { @@ -172,10 +173,10 @@ static Virtualization detect_vm_dmi_vendor(void) { }; int r; - for (size_t i = 0; i < ELEMENTSOF(dmi_vendors); i++) { + STRV_FOREACH(vendor, dmi_vendors) { _cleanup_free_ char *s = NULL; - r = read_one_line_file(dmi_vendors[i], &s); + r = read_one_line_file(*vendor, &s); if (r < 0) { if (r == -ENOENT) continue; @@ -183,10 +184,10 @@ static Virtualization detect_vm_dmi_vendor(void) { return r; } - for (size_t j = 0; j < ELEMENTSOF(dmi_vendor_table); j++) - if (startswith(s, dmi_vendor_table[j].vendor)) { - log_debug("Virtualization %s found in DMI (%s)", s, dmi_vendors[i]); - return dmi_vendor_table[j].id; + for (size_t i = 0; i < ELEMENTSOF(dmi_vendor_table); i++) + if (startswith(s, dmi_vendor_table[i].vendor)) { + log_debug("Virtualization %s found in DMI (%s)", s, *vendor); + return dmi_vendor_table[i].id; } } log_debug("No virtualization found in DMI vendor table.");