qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v4 08/28] qmp-input-visitor: Favor new visit_fre


From: Markus Armbruster
Subject: Re: [Qemu-devel] [PATCH v4 08/28] qmp-input-visitor: Favor new visit_free() function
Date: Wed, 01 Jun 2016 18:19:02 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Eric Blake <address@hidden> writes:

> Now that we have a polymorphic visit_free(), we no longer need
> qmp_input_visitor_cleanup(); which in turn means we no longer
> need to return a subtype from qmp_input_visitor_new() nor a
> public upcast function.
>
> Generated code changes to qmp-marshal look like:

qmp-marshal.c

>
> |@@ -52,11 +52,10 @@ void qmp_marshal_add_fd(QDict *args, QOb
> | {
> |     Error *err = NULL;
> |     AddfdInfo *retval;
> |-    QmpInputVisitor *qiv = qmp_input_visitor_new(QOBJECT(args), true);
> |     Visitor *v;
> |     q_obj_add_fd_arg arg = {0};
> |
> |-    v = qmp_input_get_visitor(qiv);
> |+    v = qmp_input_visitor_new(QOBJECT(args), true);
> |     visit_start_struct(v, NULL, NULL, 0, &err);
> |     if (err) {
> |         goto out;
>
> Signed-off-by: Eric Blake <address@hidden>
[...]
> diff --git a/tests/check-qnull.c b/tests/check-qnull.c
> index fd9c68f..c8021dc 100644
> --- a/tests/check-qnull.c
> +++ b/tests/check-qnull.c
> @@ -39,7 +39,7 @@ static void qnull_visit_test(void)
>  {
>      QObject *obj;
>      QmpOutputVisitor *qov;
> -    QmpInputVisitor *qiv;
> +    Visitor *qiv;

Call it v instead of qiv?  You do that elsewhere...  Your choice.

>
>      /*
>       * Most tests of interactions between QObject and visitors are in
> @@ -51,8 +51,8 @@ static void qnull_visit_test(void)
>      obj = qnull();
>      qiv = qmp_input_visitor_new(obj, true);
>      qobject_decref(obj);
> -    visit_type_null(qmp_input_get_visitor(qiv), NULL, &error_abort);
> -    qmp_input_visitor_cleanup(qiv);
> +    visit_type_null(qiv, NULL, &error_abort);
> +    visit_free(qiv);
>
>      qov = qmp_output_visitor_new();
>      visit_type_null(qmp_output_get_visitor(qov), NULL, &error_abort);
[...]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]