]> xenbits.xensource.com Git - libvirt.git/commitdiff
util: Make virStringArrayHasString() const-correct
authorAndrea Bolognani <abologna@redhat.com>
Tue, 16 Aug 2016 10:20:56 +0000 (12:20 +0200)
committerAndrea Bolognani <abologna@redhat.com>
Tue, 16 Aug 2016 17:32:58 +0000 (19:32 +0200)
The first argument should be const char ** instead of
char **, because this is a search function and as such it
doesn't, and shouldn't, alter the haystack in any way.

This change means we no longer have to cast arrays of
immutable strings to arrays of mutable strings; we still
have to do the opposite, though, but that's reasonable.

src/lxc/lxc_native.c
src/qemu/qemu_capabilities.c
src/qemu/qemu_monitor_json.c
src/qemu/qemu_process.c
src/util/virstring.c
src/util/virstring.h
tests/qemumonitorjsontest.c

index 4b22e2ab925b703dfc13b60e104e14a114d346d6..94fb659221568876d27f241b5774151038813915 100644 (file)
@@ -299,7 +299,7 @@ lxcAddFstabLine(virDomainDefPtr def, lxcFstabPtr fstab)
         type = VIR_DOMAIN_FS_TYPE_BLOCK;
 
     /* Do we have ro in options? */
-    readonly = virStringArrayHasString(options, "ro");
+    readonly = virStringArrayHasString((const char **) options, "ro");
 
     if (lxcAddFSDef(def, type, src, dst, readonly, usage) < 0)
         goto cleanup;
@@ -981,7 +981,8 @@ lxcSetCapDrop(virDomainDefPtr def, virConfPtr properties)
 
     for (i = 0; i < VIR_DOMAIN_CAPS_FEATURE_LAST; i++) {
         capString = virDomainCapsFeatureTypeToString(i);
-        if (toDrop != NULL && virStringArrayHasString(toDrop, capString))
+        if (toDrop != NULL &&
+            virStringArrayHasString((const char **) toDrop, capString))
             def->caps_features[i] = VIR_TRISTATE_SWITCH_OFF;
     }
 
index 43e3ea750a9275e6cfb79492d43ef21b25f41025..148321764938d9ed9fdac23e216fa8b35cefc56b 100644 (file)
@@ -2580,7 +2580,7 @@ virQEMUCapsProbeQMPTPM(virQEMUCapsPtr qemuCaps,
         for (i = 0; i < ARRAY_CARDINALITY(virQEMUCapsTPMModelsToCaps); i++) {
             const char *needle = virDomainTPMModelTypeToString(
                 virQEMUCapsTPMModelsToCaps[i].type);
-            if (virStringArrayHasString(entries, needle))
+            if (virStringArrayHasString((const char **) entries, needle))
                 virQEMUCapsSet(qemuCaps,
                                virQEMUCapsTPMModelsToCaps[i].caps);
         }
@@ -2594,7 +2594,7 @@ virQEMUCapsProbeQMPTPM(virQEMUCapsPtr qemuCaps,
         for (i = 0; i < ARRAY_CARDINALITY(virQEMUCapsTPMTypesToCaps); i++) {
             const char *needle = virDomainTPMBackendTypeToString(
                 virQEMUCapsTPMTypesToCaps[i].type);
-            if (virStringArrayHasString(entries, needle))
+            if (virStringArrayHasString((const char **) entries, needle))
                 virQEMUCapsSet(qemuCaps, virQEMUCapsTPMTypesToCaps[i].caps);
         }
     }
index d455adf73db69ff3fdcc7bd77d4c48ed8c68b96f..1df1e4a4f02334d7050a9692c980662e39ea776f 100644 (file)
@@ -5728,7 +5728,7 @@ qemuMonitorJSONGetMigrationCapability(qemuMonitorPtr mon,
     if (qemuMonitorJSONGetMigrationCapabilities(mon, &capsList) < 0)
         return -1;
 
-    ret = virStringArrayHasString(capsList, cap);
+    ret = virStringArrayHasString((const char **) capsList, cap);
 
     virStringFreeList(capsList);
     return ret;
index 74816261ea4468992414d77c672d14f4d0a52aac..3ade190c372e28d913cd2af8ff4e8e66717738f9 100644 (file)
@@ -3151,6 +3151,7 @@ qemuProcessUpdateDevices(virQEMUDriverPtr driver,
 {
     qemuDomainObjPrivatePtr priv = vm->privateData;
     virDomainDeviceDef dev;
+    const char **qemuDevices;
     char **old;
     char **tmp;
     int ret = -1;
@@ -3163,9 +3164,10 @@ qemuProcessUpdateDevices(virQEMUDriverPtr driver,
     if (qemuDomainUpdateDeviceList(driver, vm, QEMU_ASYNC_JOB_NONE) < 0)
         goto cleanup;
 
+    qemuDevices = (const char **) priv->qemuDevices;
     if ((tmp = old)) {
         while (*tmp) {
-            if (!virStringArrayHasString(priv->qemuDevices, *tmp) &&
+            if (!virStringArrayHasString(qemuDevices, *tmp) &&
                 virDomainDefFindDevice(vm->def, *tmp, &dev, false) == 0 &&
                 qemuDomainRemoveDevice(driver, vm, &dev) < 0) {
                 goto cleanup;
index 0177a952101f69cc017bd799d1cf9b9741305893..4a70620899098d28d46f901d37c47301e2d400f4 100644 (file)
@@ -210,7 +210,8 @@ virStringFreeListCount(char **strings,
 
 
 bool
-virStringArrayHasString(char **strings, const char *needle)
+virStringArrayHasString(const char **strings,
+                        const char *needle)
 {
     size_t i = 0;
 
index 040771e832c68601e271f9f14585dec2174f8c30..8854d5fa624b4e10e02797f1f37cc20dcbdc6e65 100644 (file)
@@ -44,7 +44,7 @@ char *virStringJoin(const char **strings,
 void virStringFreeList(char **strings);
 void virStringFreeListCount(char **strings, size_t count);
 
-bool virStringArrayHasString(char **strings, const char *needle);
+bool virStringArrayHasString(const char **strings, const char *needle);
 char *virStringGetFirstWithPrefix(char **strings, const char *prefix)
     ATTRIBUTE_NONNULL(2);
 
index 544b5696d319d760930c9231efa12a919ff0119f..99887548693f2208fe77c6de1822c202bd55ccdd 100644 (file)
@@ -999,7 +999,7 @@ testQemuMonitorJSONGetDeviceAliases(const void *data)
     qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
     int ret = -1;
     char **aliases = NULL;
-    char **alias;
+    const char **alias;
     const char *expected[] = {
         "virtio-disk25", "video0", "serial0", "ide0-0-0", "usb", NULL };
 
@@ -1033,14 +1033,14 @@ testQemuMonitorJSONGetDeviceAliases(const void *data)
     }
 
     ret = 0;
-    for (alias = aliases; *alias; alias++) {
-        if (!virStringArrayHasString((char **) expected, *alias)) {
+    for (alias = (const char **) aliases; *alias; alias++) {
+        if (!virStringArrayHasString(expected, *alias)) {
             fprintf(stderr, "got unexpected device alias '%s'\n", *alias);
             ret = -1;
         }
     }
-    for (alias = (char **) expected; *alias; alias++) {
-        if (!virStringArrayHasString(aliases, *alias)) {
+    for (alias = expected; *alias; alias++) {
+        if (!virStringArrayHasString((const char **) aliases, *alias)) {
             fprintf(stderr, "missing expected alias '%s'\n", *alias);
             ret = -1;
         }