]> git.proxmox.com Git - mirror_qemu.git/blobdiff - util/qemu-sockets.c
qapi: Add new visit_complete() function
[mirror_qemu.git] / util / qemu-sockets.c
index cc2b0439070c1c113370269920c3e46595e6037e..a0ca6d4a7e741801b35f4d2b5216dce2096a59f1 100644 (file)
@@ -1147,26 +1147,22 @@ 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);
+    ov = qmp_output_visitor_new(&obj);
     visit_type_SocketAddress(ov, NULL, &src, &error_abort);
-    obj = qmp_output_get_qobject(qov);
-    qmp_output_visitor_cleanup(qov);
+    visit_complete(ov, &obj);
+    visit_free(ov);
     if (!obj) {
         return;
     }
 
-    qiv = qmp_input_visitor_new(obj, true);
-    iv = qmp_input_get_visitor(qiv);
+    iv = qmp_input_visitor_new(obj, true);
     visit_type_SocketAddress(iv, NULL, p_dest, &error_abort);
-    qmp_input_visitor_cleanup(qiv);
+    visit_free(iv);
     qobject_decref(obj);
 }