Rather than rolling our own clone via an expensive conversion
in and back out of QObject, use the generated QAPI version.

Signed-off-by: Eric Blake <ebl...@redhat.com>

---
v3: new patch
---
 util/qemu-sockets.c | 22 +---------------------
 1 file changed, 1 insertion(+), 21 deletions(-)

diff --git a/util/qemu-sockets.c b/util/qemu-sockets.c
index 2a2c524..6b70944 100644
--- a/util/qemu-sockets.c
+++ b/util/qemu-sockets.c
@@ -1129,25 +1129,5 @@ SocketAddress *socket_remote_address(int fd, Error 
**errp)
 void qapi_copy_SocketAddress(SocketAddress **p_dest,
                              SocketAddress *src)
 {
-    QmpOutputVisitor *qov;
-    QmpInputVisitor *qiv;
-    Visitor *ov, *iv;
-    QObject *obj;
-
-    *p_dest = NULL;
-
-    qov = qmp_output_visitor_new();
-    ov = qmp_output_get_visitor(qov);
-    visit_type_SocketAddress(ov, NULL, &src, &error_abort);
-    obj = qmp_output_get_qobject(qov);
-    qmp_output_visitor_cleanup(qov);
-    if (!obj) {
-        return;
-    }
-
-    qiv = qmp_input_visitor_new(obj, true);
-    iv = qmp_input_get_visitor(qiv);
-    visit_type_SocketAddress(iv, NULL, p_dest, &error_abort);
-    qmp_input_visitor_cleanup(qiv);
-    qobject_decref(obj);
+    *p_dest = qapi_SocketAddress_clone(src);
 }
-- 
2.5.5


Reply via email to