]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
cpu_conf: Introduce virCPUDefSortFeatures
authorJiri Denemark <jdenemar@redhat.com>
Fri, 29 May 2026 11:00:10 +0000 (13:00 +0200)
committerJiri Denemark <jdenemar@redhat.com>
Tue, 2 Jun 2026 11:45:26 +0000 (13:45 +0200)
Separate the sorting code from virCPUExpandFeatures into a standalone
function.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
src/conf/cpu_conf.c
src/conf/cpu_conf.h
src/cpu/cpu.c
src/libvirt_private.syms

index 7aeedf64f5f109c10a1ae58a01398cf109768ec5..f5a2004ee6596a6a51cd5d273ef545341e5b8d32 100644 (file)
@@ -1277,3 +1277,23 @@ virCPUDefListFree(virCPUDef **cpus)
 
     g_free(cpus);
 }
+
+
+static int
+virCPUFeatureDefCompare(const void *p1,
+                        const void *p2,
+                        void *opaque G_GNUC_UNUSED)
+{
+    const virCPUFeatureDef *f1 = p1;
+    const virCPUFeatureDef *f2 = p2;
+
+    return strcmp(f1->name, f2->name);
+}
+
+
+void
+virCPUDefSortFeatures(virCPUDef *cpu)
+{
+    g_qsort_with_data(cpu->features, cpu->nfeatures, sizeof(*cpu->features),
+                      virCPUFeatureDefCompare, NULL);
+}
index cfb8f1a46193e99a2e9e789d1229363fcf9ad2f3..0cac1a14899f1913116b1d8f71fd87e8034a9fb7 100644 (file)
@@ -280,3 +280,6 @@ virCPUDefListParse(const char **xmlCPUs,
                    virCPUType cpuType);
 void
 virCPUDefListFree(virCPUDef **cpus);
+
+void
+virCPUDefSortFeatures(virCPUDef *cpu);
index 233686485d81fcd1b124b620dcc39c5fc6650cd7..d81e620a1d596568399960329ca5f413d3c4cc6f 100644 (file)
@@ -1125,18 +1125,6 @@ virCPUConvertLegacy(virArch arch,
 }
 
 
-static int
-virCPUFeatureCompare(const void *p1,
-                     const void *p2,
-                     void *opaque G_GNUC_UNUSED)
-{
-    const virCPUFeatureDef *f1 = p1;
-    const virCPUFeatureDef *f2 = p2;
-
-    return strcmp(f1->name, f2->name);
-}
-
-
 /**
  * virCPUExpandFeatures:
  *
@@ -1168,8 +1156,7 @@ virCPUExpandFeatures(virArch arch,
         driver->expandFeatures(cpu) < 0)
         return -1;
 
-    g_qsort_with_data(cpu->features, cpu->nfeatures, sizeof(*cpu->features),
-                      virCPUFeatureCompare, NULL);
+    virCPUDefSortFeatures(cpu);
 
     VIR_DEBUG("nfeatures=%zu", cpu->nfeatures);
     return 0;
index c2daf10ebc189448fa0c5c9da014c2f6b2c8ae92..fa448a2a1c133cbd1f30509a6cad7aac46b7f40b 100644 (file)
@@ -118,6 +118,7 @@ virCPUDefNew;
 virCPUDefParseXML;
 virCPUDefParseXMLString;
 virCPUDefRef;
+virCPUDefSortFeatures;
 virCPUDefStealModel;
 virCPUDefUpdateFeature;
 virCPUMaxPhysAddrModeTypeFromString;