]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemuAgentGetInterfaceAddresses: turn ifname into char*
authorJán Tomko <jtomko@redhat.com>
Mon, 5 Oct 2020 20:35:34 +0000 (22:35 +0200)
committerJán Tomko <jtomko@redhat.com>
Thu, 8 Oct 2020 09:16:08 +0000 (11:16 +0200)
We only care about the first part of the 'ifname' string,
splitting it is overkill.

Instead, just replace the ':' with a '\0' in a copy of the string.
This reduces the count of the varaibles containing some form
of the interface name to two.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Jonathon Jongsma <jjongsma@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
src/qemu/qemu_agent.c

index 06e143b0b919ee0004faa00c631fe72c5ce84b5a..5cb6257bfc8e200a4b94ec152d03f8d44216e7a5 100644 (file)
@@ -2129,9 +2129,9 @@ qemuAgentGetInterfaceAddresses(virDomainInterfacePtr **ifaces_ret,
                                virJSONValuePtr tmp_iface)
 {
     virJSONValuePtr ip_addr_arr = NULL;
-    const char *hwaddr, *ifname_s, *name = NULL;
+    const char *hwaddr, *name = NULL;
     virDomainInterfacePtr iface = NULL;
-    g_auto(GStrv) ifname = NULL;
+    g_autofree char *ifname = NULL;
     size_t addrs_count = 0;
     size_t j;
 
@@ -2144,10 +2144,9 @@ qemuAgentGetInterfaceAddresses(virDomainInterfacePtr **ifaces_ret,
     }
 
     /* Handle interface alias (<ifname>:<alias>) */
-    ifname = virStringSplit(name, ":", 2);
-    ifname_s = ifname[0];
+    ifname = g_strdelimit(g_strdup(name), ":", '\0');
 
-    iface = virHashLookup(ifaces_store, ifname_s);
+    iface = virHashLookup(ifaces_store, ifname);
 
     /* If the hash table doesn't contain this iface, add it */
     if (!iface) {
@@ -2157,11 +2156,11 @@ qemuAgentGetInterfaceAddresses(virDomainInterfacePtr **ifaces_ret,
         iface = g_new0(virDomainInterface, 1);
         (*ifaces_ret)[*ifaces_count - 1] = iface;
 
-        if (virHashAddEntry(ifaces_store, ifname_s, iface) < 0)
+        if (virHashAddEntry(ifaces_store, ifname, iface) < 0)
             return -1;
 
         iface->naddrs = 0;
-        iface->name = g_strdup(ifname_s);
+        iface->name = g_strdup(ifname);
 
         hwaddr = virJSONValueObjectGetString(tmp_iface, "hardware-address");
         iface->hwaddr = g_strdup(hwaddr);