]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virsh: Don't open code virshEnumComplete()
authorMichal Privoznik <mprivozn@redhat.com>
Sat, 12 Mar 2022 04:41:56 +0000 (05:41 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Tue, 15 Mar 2022 12:36:58 +0000 (13:36 +0100)
Now that we have a function that generates string list for given
enum, let's use that instead of open coding it.

Note, after this there are still some 'candidates' left (e.g,
virshNetworkEventNameCompleter(), or
virshNetworkUpdateCommandCompleter()). These are not converted
because either they don't have a convenient int2str function or
they don't start from the very beginning of the enum.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
tools/virsh-completer-domain.c
tools/virsh-completer-host.c
tools/virsh-completer-nodedev.c
tools/virsh-completer-pool.c
tools/virsh-completer-volume.c

index 9cc27b84cba832820c503671e15a3491bf157323..d4c877cd043457fc7fee7a359ea93a97300c35dc 100644 (file)
@@ -476,17 +476,10 @@ virshDomainInterfaceAddrSourceCompleter(vshControl *ctl G_GNUC_UNUSED,
                                         const vshCmd *cmd G_GNUC_UNUSED,
                                         unsigned int flags)
 {
-    char **ret = NULL;
-    size_t i;
-
     virCheckFlags(0, NULL);
 
-    ret = g_new0(char *, VIR_DOMAIN_INTERFACE_ADDRESSES_SRC_LAST + 1);
-
-    for (i = 0; i < VIR_DOMAIN_INTERFACE_ADDRESSES_SRC_LAST; i++)
-        ret[i] = g_strdup(virshDomainInterfaceAddressesSourceTypeToString(i));
-
-    return ret;
+    return virshEnumComplete(VIR_DOMAIN_INTERFACE_ADDRESSES_SRC_LAST,
+                             virshDomainInterfaceAddressesSourceTypeToString);
 }
 
 
@@ -495,17 +488,10 @@ virshDomainInterfaceSourceModeCompleter(vshControl *ctl G_GNUC_UNUSED,
                                         const vshCmd *cmd G_GNUC_UNUSED,
                                         unsigned int flags)
 {
-    char **ret = NULL;
-    size_t i;
-
     virCheckFlags(0, NULL);
 
-    ret = g_new0(char *, VIRSH_DOMAIN_INTERFACE_SOURCE_MODE_LAST + 1);
-
-    for (i = 0; i < VIRSH_DOMAIN_INTERFACE_SOURCE_MODE_LAST; i++)
-        ret[i] = g_strdup(virshDomainInterfaceSourceModeTypeToString(i));
-
-    return ret;
+    return virshEnumComplete(VIRSH_DOMAIN_INTERFACE_SOURCE_MODE_LAST,
+                             virshDomainInterfaceSourceModeTypeToString);
 }
 
 
@@ -514,17 +500,10 @@ virshDomainHostnameSourceCompleter(vshControl *ctl G_GNUC_UNUSED,
                                    const vshCmd *cmd G_GNUC_UNUSED,
                                    unsigned int flags)
 {
-    char **ret = NULL;
-    size_t i;
-
     virCheckFlags(0, NULL);
 
-    ret = g_new0(char *, VIRSH_DOMAIN_HOSTNAME_SOURCE_LAST + 1);
-
-    for (i = 0; i < VIRSH_DOMAIN_HOSTNAME_SOURCE_LAST; i++)
-        ret[i] = g_strdup(virshDomainHostnameSourceTypeToString(i));
-
-    return ret;
+    return virshEnumComplete(VIRSH_DOMAIN_HOSTNAME_SOURCE_LAST,
+                             virshDomainHostnameSourceTypeToString);
 }
 
 
@@ -533,20 +512,17 @@ virshDomainPerfEnableCompleter(vshControl *ctl,
                               const vshCmd *cmd,
                               unsigned int flags)
 {
-    size_t i = 0;
     g_auto(GStrv) events = NULL;
     const char *event = NULL;
 
     virCheckFlags(0, NULL);
 
-    events = g_new0(char *, VIR_PERF_EVENT_LAST + 1);
-
-    for (i = 0; i < VIR_PERF_EVENT_LAST; i++)
-        events[i] = g_strdup(virPerfEventTypeToString(i));
-
     if (vshCommandOptStringQuiet(ctl, cmd, "enable", &event) < 0)
         return NULL;
 
+    events = virshEnumComplete(VIR_PERF_EVENT_LAST,
+                               virPerfEventTypeToString);
+
     return virshCommaStringListComplete(event, (const char **)events);
 }
 
@@ -556,20 +532,17 @@ virshDomainPerfDisableCompleter(vshControl *ctl,
                                 const vshCmd *cmd,
                                 unsigned int flags)
 {
-    size_t i = 0;
     g_auto(GStrv) events = NULL;
     const char *event = NULL;
 
     virCheckFlags(0, NULL);
 
-    events = g_new0(char *, VIR_PERF_EVENT_LAST + 1);
-
-    for (i = 0; i < VIR_PERF_EVENT_LAST; i++)
-        events[i] = g_strdup(virPerfEventTypeToString(i));
-
     if (vshCommandOptStringQuiet(ctl, cmd, "disable", &event) < 0)
         return NULL;
 
+    events = virshEnumComplete(VIR_PERF_EVENT_LAST,
+                               virPerfEventTypeToString);
+
     return virshCommaStringListComplete(event, (const char **)events);
 }
 
@@ -871,19 +844,10 @@ virshDomainSignalCompleter(vshControl *ctl G_GNUC_UNUSED,
                            const vshCmd *cmd G_GNUC_UNUSED,
                            unsigned int flags)
 {
-    g_auto(GStrv) tmp = NULL;
-    size_t i = 0;
-
     virCheckFlags(0, NULL);
 
-    tmp = g_new0(char *, VIR_DOMAIN_PROCESS_SIGNAL_LAST + 1);
-
-    for (i = 0; i < VIR_DOMAIN_PROCESS_SIGNAL_LAST; i++) {
-        const char *name = virshDomainProcessSignalTypeToString(i);
-        tmp[i] = g_strdup(name);
-    }
-
-    return g_steal_pointer(&tmp);
+    return virshEnumComplete(VIR_DOMAIN_PROCESS_SIGNAL_LAST,
+                             virshDomainProcessSignalTypeToString);
 }
 
 
@@ -892,19 +856,10 @@ virshDomainLifecycleCompleter(vshControl *ctl G_GNUC_UNUSED,
                               const vshCmd *cmd G_GNUC_UNUSED,
                               unsigned int flags)
 {
-    g_auto(GStrv) tmp = NULL;
-    size_t i = 0;
-
     virCheckFlags(0, NULL);
 
-    tmp = g_new0(char *, VIR_DOMAIN_LIFECYCLE_LAST + 1);
-
-    for (i = 0; i < VIR_DOMAIN_LIFECYCLE_LAST; i++) {
-        const char *name = virshDomainLifecycleTypeToString(i);
-        tmp[i] = g_strdup(name);
-    }
-
-    return g_steal_pointer(&tmp);
+    return virshEnumComplete(VIR_DOMAIN_LIFECYCLE_LAST,
+                             virshDomainLifecycleTypeToString);
 }
 
 
@@ -913,19 +868,10 @@ virshDomainLifecycleActionCompleter(vshControl *ctl G_GNUC_UNUSED,
                                     const vshCmd *cmd G_GNUC_UNUSED,
                                     unsigned int flags)
 {
-    g_auto(GStrv) tmp = NULL;
-    size_t i = 0;
-
     virCheckFlags(0, NULL);
 
-    tmp = g_new0(char *, VIR_DOMAIN_LIFECYCLE_ACTION_LAST + 1);
-
-    for (i = 0; i < VIR_DOMAIN_LIFECYCLE_ACTION_LAST; i++) {
-        const char *action = virshDomainLifecycleActionTypeToString(i);
-        tmp[i] = g_strdup(action);
-    }
-
-    return g_steal_pointer(&tmp);
+    return virshEnumComplete(VIR_DOMAIN_LIFECYCLE_ACTION_LAST,
+                             virshDomainLifecycleActionTypeToString);
 }
 
 
@@ -934,19 +880,10 @@ virshCodesetNameCompleter(vshControl *ctl G_GNUC_UNUSED,
                           const vshCmd *cmd G_GNUC_UNUSED,
                           unsigned int flags)
 {
-    g_auto(GStrv) tmp = NULL;
-    size_t i = 0;
-
     virCheckFlags(0, NULL);
 
-    tmp = g_new0(char *, VIR_KEYCODE_SET_LAST + 1);
-
-    for (i = 0; i < VIR_KEYCODE_SET_LAST; i++) {
-        const char *name = virKeycodeSetTypeToString(i);
-        tmp[i] = g_strdup(name);
-    }
-
-    return g_steal_pointer(&tmp);
+    return virshEnumComplete(VIR_KEYCODE_SET_LAST,
+                             virKeycodeSetTypeToString);
 }
 
 
@@ -1064,17 +1001,10 @@ virshDomainCoreDumpFormatCompleter(vshControl *ctl G_GNUC_UNUSED,
                                    const vshCmd *cmd G_GNUC_UNUSED,
                                    unsigned int flags)
 {
-    char **ret = NULL;
-    size_t i;
-
     virCheckFlags(0, NULL);
 
-    ret = g_new0(char *, VIR_DOMAIN_CORE_DUMP_FORMAT_LAST + 1);
-
-    for (i = 0; i < VIR_DOMAIN_CORE_DUMP_FORMAT_LAST; i++)
-        ret[i] = g_strdup(virshDomainCoreDumpFormatTypeToString(i));
-
-    return ret;
+    return virshEnumComplete(VIR_DOMAIN_CORE_DUMP_FORMAT_LAST,
+                             virshDomainCoreDumpFormatTypeToString);
 }
 
 
@@ -1100,17 +1030,10 @@ virshDomainStorageFileFormatCompleter(vshControl *ctl G_GNUC_UNUSED,
                                       const vshCmd *cmd G_GNUC_UNUSED,
                                       unsigned int flags)
 {
-    char **ret = NULL;
-    size_t i;
-
     virCheckFlags(0, NULL);
 
-    ret = g_new0(char *, VIR_STORAGE_FILE_LAST + 1);
-
-    for (i = 0; i < VIR_STORAGE_FILE_LAST; i++)
-        ret[i] = g_strdup(virStorageFileFormatTypeToString(i));
-
-    return ret;
+    return virshEnumComplete(VIR_STORAGE_FILE_LAST,
+                             virStorageFileFormatTypeToString);
 }
 
 
@@ -1119,17 +1042,10 @@ virshDomainNumatuneModeCompleter(vshControl *ctl G_GNUC_UNUSED,
                                  const vshCmd *cmd G_GNUC_UNUSED,
                                  unsigned int flags)
 {
-    char **ret = NULL;
-    size_t i;
-
     virCheckFlags(0, NULL);
 
-    ret = g_new0(char *, VIR_DOMAIN_NUMATUNE_MEM_LAST + 1);
-
-    for (i = 0; i < VIR_DOMAIN_NUMATUNE_MEM_LAST; i++)
-        ret[i] = g_strdup(virDomainNumatuneMemModeTypeToString(i));
-
-    return ret;
+    return virshEnumComplete(VIR_DOMAIN_NUMATUNE_MEM_LAST,
+                             virDomainNumatuneMemModeTypeToString);
 }
 
 
@@ -1138,15 +1054,8 @@ virshDomainDirtyRateCalcModeCompleter(vshControl *ctl G_GNUC_UNUSED,
                                       const vshCmd *cmd G_GNUC_UNUSED,
                                       unsigned int flags)
 {
-    char **ret = NULL;
-    size_t i;
-
     virCheckFlags(0, NULL);
 
-    ret = g_new0(char *, VIRSH_DOMAIN_DIRTYRATE_CALC_MODE_LAST + 1);
-
-    for (i = 0; i < VIRSH_DOMAIN_DIRTYRATE_CALC_MODE_LAST; i++)
-        ret[i] = g_strdup(virshDomainDirtyRateCalcModeTypeToString(i));
-
-    return ret;
+    return virshEnumComplete(VIRSH_DOMAIN_DIRTYRATE_CALC_MODE_LAST,
+                             virshDomainDirtyRateCalcModeTypeToString);
 }
index 3795d1fd3ac722d3c03b7c6ad8d34d762ce0503e..40cb6875827a91bc0cb7605ad1db4b5d70f6a1b9 100644 (file)
@@ -175,15 +175,8 @@ virshNodeSuspendTargetCompleter(vshControl *ctl G_GNUC_UNUSED,
                                 const vshCmd *cmd G_GNUC_UNUSED,
                                 unsigned int flags)
 {
-    char **ret = NULL;
-    size_t i;
-
     virCheckFlags(0, NULL);
 
-    ret = g_new0(char *, VIR_NODE_SUSPEND_TARGET_LAST + 1);
-
-    for (i = 0; i < VIR_NODE_SUSPEND_TARGET_LAST; i++)
-        ret[i] = g_strdup(virshNodeSuspendTargetTypeToString(i));
-
-    return ret;
+    return virshEnumComplete(VIR_NODE_SUSPEND_TARGET_LAST,
+                             virshNodeSuspendTargetTypeToString);
 }
index d10bf2b78cf1d6bfe16e225a8e834fc7dff8f044..bf6e809b5a28a4feef24ce15ac0728107df41aea 100644 (file)
@@ -91,17 +91,14 @@ virshNodeDeviceCapabilityNameCompleter(vshControl *ctl,
 {
     g_auto(GStrv) tmp = NULL;
     const char *cap_str = NULL;
-    size_t i = 0;
 
     virCheckFlags(0, NULL);
 
     if (vshCommandOptStringQuiet(ctl, cmd, "cap", &cap_str) < 0)
         return NULL;
 
-    tmp = g_new0(char *, VIR_NODE_DEV_CAP_LAST + 1);
-
-    for (i = 0; i < VIR_NODE_DEV_CAP_LAST; i++)
-        tmp[i] = g_strdup(virNodeDevCapTypeToString(i));
+    tmp = virshEnumComplete(VIR_NODE_DEV_CAP_LAST,
+                            virNodeDevCapTypeToString);
 
     return virshCommaStringListComplete(cap_str, (const char **)tmp);
 }
index 84e9d6cc5a4de658513dc95d945eab8d44a039e2..1a966d95b9e3f30a94336cb99b82032576bfd1ac 100644 (file)
@@ -94,17 +94,14 @@ virshPoolTypeCompleter(vshControl *ctl,
 {
     g_auto(GStrv) tmp = NULL;
     const char *type_str = NULL;
-    size_t i = 0;
 
     virCheckFlags(0, NULL);
 
     if (vshCommandOptStringQuiet(ctl, cmd, "type", &type_str) < 0)
         return NULL;
 
-    tmp = g_new0(char *, VIR_STORAGE_POOL_LAST + 1);
-
-    for (i = 0; i < VIR_STORAGE_POOL_LAST; i++)
-        tmp[i] = g_strdup(virStoragePoolTypeToString(i));
+    tmp = virshEnumComplete(VIR_STORAGE_POOL_LAST,
+                            virStoragePoolTypeToString);
 
     return virshCommaStringListComplete(type_str, (const char **)tmp);
 }
index bed45fa1caec2430b89373b5279c10f52f1bb7fe..a1ebadccacc3da3e562cb7799aee6d3c1cfb5648 100644 (file)
@@ -123,15 +123,8 @@ virshStorageVolWipeAlgorithmCompleter(vshControl *ctl G_GNUC_UNUSED,
                                       const vshCmd *cmd G_GNUC_UNUSED,
                                       unsigned int flags)
 {
-    char **ret = NULL;
-    size_t i;
-
     virCheckFlags(0, NULL);
 
-    ret = g_new0(char *, VIR_STORAGE_VOL_WIPE_ALG_LAST + 1);
-
-    for (i = 0; i < VIR_STORAGE_VOL_WIPE_ALG_LAST; i++)
-        ret[i] = g_strdup(virshStorageVolWipeAlgorithmTypeToString(i));
-
-    return ret;
+    return virshEnumComplete(VIR_STORAGE_VOL_WIPE_ALG_LAST,
+                             virshStorageVolWipeAlgorithmTypeToString);
 }