From: Peter Krempa <[email protected]>

Adjust the code so that it can count the number of interfaces for
'esxConnectNumOfInterfaces' so that the loop over the interfaces doesn't
need to be duplicated.

Signed-off-by: Peter Krempa <[email protected]>
---
 src/esx/esx_interface_driver.c | 44 ++++++++++++----------------------
 1 file changed, 15 insertions(+), 29 deletions(-)

diff --git a/src/esx/esx_interface_driver.c b/src/esx/esx_interface_driver.c
index bbb8baaeb8..3f610d95ef 100644
--- a/src/esx/esx_interface_driver.c
+++ b/src/esx/esx_interface_driver.c
@@ -33,32 +33,9 @@


 static int
-esxConnectNumOfInterfaces(virConnectPtr conn)
-{
-    esxPrivate *priv = conn->privateData;
-    esxVI_PhysicalNic *physicalNicList = NULL;
-    esxVI_PhysicalNic *physicalNic = NULL;
-    int count = 0;
-
-    if (esxVI_EnsureSession(priv->primary) < 0 ||
-        esxVI_LookupPhysicalNicList(priv->primary, &physicalNicList) < 0) {
-        return -1;
-    }
-
-    for (physicalNic = physicalNicList; physicalNic;
-         physicalNic = physicalNic->_next) {
-        ++count;
-    }
-
-    esxVI_PhysicalNic_Free(&physicalNicList);
-
-    return count;
-}
-
-
-
-static int
-esxConnectListInterfaces(virConnectPtr conn, char **const names, int maxnames)
+esxConnectListInterfaces(virConnectPtr conn,
+                         char **const names,
+                         int maxnames)
 {
     esxPrivate *priv = conn->privateData;
     esxVI_PhysicalNic *physicalNicList = NULL;
@@ -75,9 +52,12 @@ esxConnectListInterfaces(virConnectPtr conn, char **const 
names, int maxnames)

     for (physicalNic = physicalNicList; physicalNic;
          physicalNic = physicalNic->_next) {
-        if (count >= maxnames)
-            break;
-        names[count] = g_strdup(physicalNic->device);
+        if (names) {
+            if (count >= maxnames)
+                break;
+
+            names[count] = g_strdup(physicalNic->device);
+        }

         ++count;
     }
@@ -88,6 +68,12 @@ esxConnectListInterfaces(virConnectPtr conn, char **const 
names, int maxnames)
 }


+static int
+esxConnectNumOfInterfaces(virConnectPtr conn)
+{
+    return esxConnectListInterfaces(conn, NULL, -1);
+}
+

 static int
 esxConnectNumOfDefinedInterfaces(virConnectPtr conn G_GNUC_UNUSED)
-- 
2.55.0

Reply via email to