diff mbox

[v3,16/18] sockets: Use new QAPI cloning

Message ID 1461903820-3092-17-git-send-email-eblake@redhat.com
State New
Headers show

Commit Message

Eric Blake April 29, 2016, 4:23 a.m. UTC
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 <eblake@redhat.com>

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

Comments

Daniel P. Berrangé April 29, 2016, 8:30 a.m. UTC | #1
On Thu, Apr 28, 2016 at 10:23:37PM -0600, Eric Blake wrote:
> 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 <eblake@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);
>  }

Since it is only one line long, this method is now rather pointless.
I'd suggest just deleting it entirely and updating the callers to
use the real clone method directly.


Regards,
Daniel
diff mbox

Patch

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);
 }