qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 04/16] qapi: make visit_type_size fallback to ty


From: Hu Tao
Subject: Re: [Qemu-devel] [PATCH 04/16] qapi: make visit_type_size fallback to type_int
Date: Thu, 25 Jul 2013 14:41:36 +0800
User-agent: Mutt/1.5.21 (2010-09-15)

On Tue, Jul 23, 2013 at 06:23:00PM +0200, Igor Mammedov wrote:
> From: Vasilis Liaskovitis <address@hidden>
> 
> Currently visit_type_size checks if the visitor's type_size function pointer 
> is
> NULL. If not, it calls it, otherwise it calls v->type_uint64(). But neither of
> these pointers are ever set. Fallback to calling v->type_int() in this third
> (default) case.
> 
> Signed-off-by: Vasilis Liaskovitis <address@hidden>
> Signed-off-by: Hu Tao <address@hidden>
> Signed-off-by: Igor Mammedov <address@hidden>
> ---
>  qapi/qapi-visit-core.c |   11 ++++++++++-
>  1 files changed, 10 insertions(+), 1 deletions(-)
> 
> diff --git a/qapi/qapi-visit-core.c b/qapi/qapi-visit-core.c
> index 401ee6e..fcacaff 100644
> --- a/qapi/qapi-visit-core.c
> +++ b/qapi/qapi-visit-core.c
> @@ -238,8 +238,17 @@ void visit_type_int64(Visitor *v, int64_t *obj, const 
> char *name, Error **errp)
>  
>  void visit_type_size(Visitor *v, uint64_t *obj, const char *name, Error 
> **errp)
>  {
> +    int64_t value;
>      if (!error_is_set(errp)) {
> -        (v->type_size ? v->type_size : v->type_uint64)(v, obj, name, errp);
> +        if (v->type_size) {
> +            v->type_size(v, obj, name, errp);
> +        } else if (v->type_uint64) {
> +            v->type_uint64(v, obj, name, errp);
> +        } else {
> +            value = *obj;
> +            v->type_int(v, &value, name, errp);
> +            *obj = value;
> +        }
>      }
>  }

This doesn't address comment from Michael Roth, quoted below:

---
I'd recommend just doing:

  if (v->type_size) {
      v->type_size(v, obj, name, errp);
  } else {
      visit_type_uint64(v, obj, name, errp);
  }

visit_type_uint64() already handles the fallback to visit_type_int() so no
need to duplicate.
---




reply via email to

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