]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
nwfilter: remove pointless virNWFilterHashTable struct
authorDaniel P. Berrangé <berrange@redhat.com>
Thu, 26 Apr 2018 10:51:28 +0000 (11:51 +0100)
committerDaniel P. Berrangé <berrange@redhat.com>
Thu, 3 May 2018 16:00:57 +0000 (17:00 +0100)
The virNWFilterHashTable struct only contains a single virHashTable
member since

  commit 293d4fe2f11db98c91175525056c8883725d4b22
  Author: Daniel P. Berrange <berrange@redhat.com>
  Date:   Mon Mar 24 16:35:23 2014 +0000

    Remove pointless storage of var names in virNWFilterHashTable

Thus, this struct wrapper adds no real value over just using the
virHashTable directly, but brings the complexity of needing to derefence
the hashtable to call virHash* APIs, and adds extra memory allocation
step.

To minimize code churn this just turns virNWFilterHashTable into a
typedef aliases virHashTable.

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
src/conf/nwfilter_ipaddrmap.c
src/conf/nwfilter_params.c
src/conf/nwfilter_params.h
src/nwfilter/nwfilter_dhcpsnoop.c
src/nwfilter/nwfilter_gentech_driver.c
tests/nwfilterxml2firewalltest.c

index 54e6d0f0f4a9ac86acd9a73eedd106afca292245..680667bac904d54a22425b425cde70833d3898a9 100644 (file)
@@ -61,7 +61,7 @@ virNWFilterIPAddrMapAddIPAddr(const char *ifname, char *addr)
 
     virMutexLock(&ipAddressMapLock);
 
-    val = virHashLookup(ipAddressMap->hashTable, ifname);
+    val = virHashLookup(ipAddressMap, ifname);
     if (!val) {
         val = virNWFilterVarValueCreateSimple(addrCopy);
         if (!val)
@@ -109,7 +109,7 @@ virNWFilterIPAddrMapDelIPAddr(const char *ifname, const char *ipaddr)
     virMutexLock(&ipAddressMapLock);
 
     if (ipaddr != NULL) {
-        val = virHashLookup(ipAddressMap->hashTable, ifname);
+        val = virHashLookup(ipAddressMap, ifname);
         if (val) {
             if (virNWFilterVarValueGetCardinality(val) == 1 &&
                 STREQ(ipaddr,
@@ -144,7 +144,7 @@ virNWFilterIPAddrMapGetIPAddr(const char *ifname)
 
     virMutexLock(&ipAddressMapLock);
 
-    res = virHashLookup(ipAddressMap->hashTable, ifname);
+    res = virHashLookup(ipAddressMap, ifname);
 
     virMutexUnlock(&ipAddressMapLock);
 
index 3a010491826a5bd6cfd1912ed305b6083c105cea..e833c8cb5d3ffc4b969818bf06181fc2f9dd4736 100644 (file)
@@ -355,7 +355,7 @@ virNWFilterVarCombIterAddVariable(virNWFilterVarCombIterEntryPtr cie,
     unsigned int maxValue = 0, minValue = 0;
     const char *varName = virNWFilterVarAccessGetVarName(varAccess);
 
-    varValue = virHashLookup(hash->hashTable, varName);
+    varValue = virHashLookup(hash, varName);
     if (varValue == NULL) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("Could not find value for variable '%s'"),
@@ -421,7 +421,7 @@ virNWFilterVarCombIterEntryAreUniqueEntries(virNWFilterVarCombIterEntryPtr cie,
     virNWFilterVarValuePtr varValue, tmp;
     const char *value;
 
-    varValue = virHashLookup(hash->hashTable, cie->varNames[0]);
+    varValue = virHashLookup(hash, cie->varNames[0]);
     if (!varValue) {
         /* caller's error */
         VIR_ERROR(_("hash lookup resulted in NULL pointer"));
@@ -439,7 +439,7 @@ virNWFilterVarCombIterEntryAreUniqueEntries(virNWFilterVarCombIterEntryPtr cie,
         if (STREQ(value, virNWFilterVarValueGetNthValue(varValue, i))) {
             bool isSame = true;
             for (j = 1; j < cie->nVarNames; j++) {
-                tmp = virHashLookup(hash->hashTable, cie->varNames[j]);
+                tmp = virHashLookup(hash, cie->varNames[j]);
                 if (!tmp) {
                     /* should never occur to step on a NULL here */
                     return true;
@@ -604,7 +604,7 @@ virNWFilterVarCombIterGetVarValue(virNWFilterVarCombIterPtr ci,
         return NULL;
     }
 
-    value = virHashLookup(ci->hashTable->hashTable, varName);
+    value = virHashLookup(ci->hashTable, varName);
     if (!value) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("Could not find value for variable '%s'"),
@@ -648,11 +648,11 @@ virNWFilterHashTablePut(virNWFilterHashTablePtr table,
                         const char *name,
                         virNWFilterVarValuePtr val)
 {
-    if (!virHashLookup(table->hashTable, name)) {
-        if (virHashAddEntry(table->hashTable, name, val) < 0)
+    if (!virHashLookup(table, name)) {
+        if (virHashAddEntry(table, name, val) < 0)
             return -1;
     } else {
-        if (virHashUpdateEntry(table->hashTable, name, val) < 0)
+        if (virHashUpdateEntry(table, name, val) < 0)
             return -1;
     }
     return 0;
@@ -671,27 +671,14 @@ virNWFilterHashTablePut(virNWFilterHashTablePtr table,
 void
 virNWFilterHashTableFree(virNWFilterHashTablePtr table)
 {
-    if (!table)
-        return;
-    virHashFree(table->hashTable);
-
-    VIR_FREE(table);
+    virHashFree(table);
 }
 
 
 virNWFilterHashTablePtr
 virNWFilterHashTableCreate(int n)
 {
-    virNWFilterHashTablePtr ret;
-
-    if (VIR_ALLOC(ret) < 0)
-        return NULL;
-    ret->hashTable = virHashCreate(n, hashDataFree);
-    if (!ret->hashTable) {
-        VIR_FREE(ret);
-        return NULL;
-    }
-    return ret;
+    return virHashCreate(n, hashDataFree);
 }
 
 
@@ -699,7 +686,7 @@ void *
 virNWFilterHashTableRemoveEntry(virNWFilterHashTablePtr ht,
                                 const char *entry)
 {
-    return virHashSteal(ht->hashTable, entry);
+    return virHashSteal(ht, entry);
 }
 
 
@@ -745,7 +732,7 @@ virNWFilterHashTablePutAll(virNWFilterHashTablePtr src,
         .errOccurred = 0,
     };
 
-    virHashForEach(src->hashTable, addToTable, &atts);
+    virHashForEach(src, addToTable, &atts);
     if (atts.errOccurred)
         goto err_exit;
 
@@ -770,11 +757,7 @@ bool
 virNWFilterHashTableEqual(virNWFilterHashTablePtr a,
                           virNWFilterHashTablePtr b)
 {
-    if (!(a || b))
-        return true;
-    if (!(a && b))
-        return false;
-    return virHashEqual(a->hashTable, b->hashTable, virNWFilterVarValueCompare);
+    return virHashEqual(a, b, virNWFilterVarValueCompare);
 }
 
 static bool
@@ -819,7 +802,7 @@ virNWFilterParseParamAttributes(xmlNodePtr cur)
                         goto skip_entry;
                     if (!isValidVarValue(val))
                         goto skip_entry;
-                    value = virHashLookup(table->hashTable, nam);
+                    value = virHashLookup(table, nam);
                     if (value) {
                         /* add value to existing value -> list */
                         if (virNWFilterVarValueAddValue(value, val) < 0) {
@@ -871,7 +854,7 @@ virNWFilterFormatParamAttributes(virBufferPtr buf,
     size_t i, j;
     int card, numKeys;
 
-    numKeys = virHashSize(table->hashTable);
+    numKeys = virHashSize(table);
 
     if (numKeys < 0) {
         virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
@@ -879,7 +862,7 @@ virNWFilterFormatParamAttributes(virBufferPtr buf,
         return -1;
     }
 
-    items = virHashGetItems(table->hashTable,
+    items = virHashGetItems(table,
                             virNWFilterFormatParameterNameSorter);
     if (!items)
         return -1;
@@ -1103,7 +1086,7 @@ virNWFilterVarAccessIsAvailable(const virNWFilterVarAccess *varAccess,
     unsigned int idx;
     virNWFilterVarValuePtr varValue;
 
-    varValue = virHashLookup(hash->hashTable, varName);
+    varValue = virHashLookup(hash, varName);
     if (!varValue)
         return false;
 
index abd5b85fece3762879513c35fecc51b86d4af660..b3ed3e64180e023c0cbd163d51f5630cde5b9453 100644 (file)
@@ -63,12 +63,8 @@ int virNWFilterVarValueAddValue(virNWFilterVarValuePtr val, char *value);
 int virNWFilterVarValueAddValueCopy(virNWFilterVarValuePtr val, const char *value);
 int virNWFilterVarValueDelValue(virNWFilterVarValuePtr val, const char *value);
 
-typedef struct _virNWFilterHashTable virNWFilterHashTable;
-typedef virNWFilterHashTable *virNWFilterHashTablePtr;
-struct _virNWFilterHashTable {
-    virHashTablePtr hashTable;
-};
-
+typedef virHashTable virNWFilterHashTable;
+typedef virHashTable *virNWFilterHashTablePtr;
 
 virNWFilterHashTablePtr virNWFilterParseParamAttributes(xmlNodePtr cur);
 int virNWFilterFormatParamAttributes(virBufferPtr buf,
index 50cfb944a265d38bb2ce6fb50026590340134b87..4ba833c66cda6d5da666fb0cd6c110a870b08c82 100644 (file)
@@ -894,7 +894,7 @@ virNWFilterSnoopReqLeaseDel(virNWFilterSnoopReqPtr req,
                                                req->vars);
     } else {
         virNWFilterVarValuePtr dhcpsrvrs =
-            virHashLookup(req->vars->hashTable, NWFILTER_VARNAME_DHCPSERVER);
+            virHashLookup(req->vars, NWFILTER_VARNAME_DHCPSERVER);
 
         if (req->techdriver &&
             req->techdriver->applyDHCPOnlyRules(req->ifname, &req->macaddr,
@@ -1664,7 +1664,7 @@ virNWFilterDHCPSnoopReq(virNWFilterTechDriverPtr techdriver,
         goto exit_snoopreqput;
     }
 
-    dhcpsrvrs = virHashLookup(filterparams->hashTable,
+    dhcpsrvrs = virHashLookup(filterparams,
                               NWFILTER_VARNAME_DHCPSERVER);
 
     if (techdriver->applyDHCPOnlyRules(req->ifname, &req->macaddr,
index 5ef26b6afbe0ab29d31dd1b5631e7f89b0f48f8e..4706f1f1dab04834cffba8a7ef0b551110af5d7c 100644 (file)
@@ -153,7 +153,7 @@ virNWFilterVarHashmapAddStdValues(virNWFilterHashTablePtr table,
         if (!val)
             return -1;
 
-        if (virHashAddEntry(table->hashTable,
+        if (virHashAddEntry(table,
                             NWFILTER_STD_VAR_MAC,
                             val) < 0) {
             virReportError(VIR_ERR_INTERNAL_ERROR,
@@ -167,7 +167,7 @@ virNWFilterVarHashmapAddStdValues(virNWFilterHashTablePtr table,
         if (!val)
             return -1;
 
-        if (virHashAddEntry(table->hashTable,
+        if (virHashAddEntry(table,
                             NWFILTER_STD_VAR_IP,
                             val) < 0) {
             virReportError(VIR_ERR_INTERNAL_ERROR,
@@ -633,7 +633,7 @@ virNWFilterDoInstantiate(const unsigned char *vmuuid,
     if (rc < 0)
         goto err_exit;
 
-    lv = virHashLookup(vars->hashTable, NWFILTER_VARNAME_CTRL_IP_LEARNING);
+    lv = virHashLookup(vars, NWFILTER_VARNAME_CTRL_IP_LEARNING);
     if (lv)
         learning = virNWFilterVarValueGetNthValue(lv, 0);
     else
@@ -642,8 +642,8 @@ virNWFilterDoInstantiate(const unsigned char *vmuuid,
     if (learning == NULL)
         learning = NWFILTER_DFLT_LEARN;
 
-    if (virHashSize(missing_vars->hashTable) == 1) {
-        if (virHashLookup(missing_vars->hashTable,
+    if (virHashSize(missing_vars) == 1) {
+        if (virHashLookup(missing_vars,
                           NWFILTER_STD_VAR_IP) != NULL) {
             if (STRCASEEQ(learning, "none")) {        /* no learning */
                 reportIP = true;
@@ -677,7 +677,7 @@ virNWFilterDoInstantiate(const unsigned char *vmuuid,
         } else {
             goto err_unresolvable_vars;
         }
-    } else if (virHashSize(missing_vars->hashTable) > 1) {
+    } else if (virHashSize(missing_vars) > 1) {
         goto err_unresolvable_vars;
     } else if (!forceWithPendingReq &&
                virNWFilterLookupLearnReq(ifindex) != NULL) {
@@ -729,7 +729,7 @@ virNWFilterDoInstantiate(const unsigned char *vmuuid,
 
  err_unresolvable_vars:
 
-    buf = virNWFilterPrintVars(missing_vars->hashTable, ", ", false, reportIP);
+    buf = virNWFilterPrintVars(missing_vars, ", ", false, reportIP);
     if (buf) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("Cannot instantiate filter due to unresolvable "
index b5eec538c40d4fc43eea010bfa7700871dc0262c..bf1400d2d0ff0dcec282984029ce52c8b61da1f2 100644 (file)
@@ -333,7 +333,7 @@ static int testSetOneParameter(virNWFilterHashTablePtr vars,
     int ret = -1;
     virNWFilterVarValuePtr val;
 
-    if ((val = virHashLookup(vars->hashTable, name)) == NULL) {
+    if ((val = virHashLookup(vars, name)) == NULL) {
         val = virNWFilterVarValueCreateSimpleCopyValue(value);
         if (!val)
             goto cleanup;