All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laszlo Ersek <lersek@redhat.com>
To: "Andreas Färber" <afaerber@suse.de>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Michael Roth <mdroth@linux.vnet.ibm.com>,
	Anthony Liguori <anthony@codemonkey.ws>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 1/8] qapi: Add Visitor interfaces for uint*_t and int*_t
Date: Sat, 09 Jun 2012 17:33:14 +0200	[thread overview]
Message-ID: <4FD36CBA.2070007@redhat.com> (raw)
In-Reply-To: <4FD368D2.2060109@suse.de>

On 06/09/12 17:16, Andreas Färber wrote:
> Am 09.06.2012 17:03, schrieb Laszlo Ersek:
>> On 06/08/12 17:35, Andreas Färber wrote:
>>> From: Michael Roth <mdroth@linux.vnet.ibm.com>
>>>
>>> This adds visitor interfaces for fixed-width integers types.
>>> Implementing these in visitors is optional, otherwise we fall back to
>>> visit_type_int() (int64_t) with some additional bounds checking to avoid
>>> integer overflows for cases where the value fetched exceeds the bounds
>>> of our target C type.
>>
>>> diff --git a/qapi/qapi-visit-core.h b/qapi/qapi-visit-core.h
>>> index e850746..a19d70c 100644
>>> --- a/qapi/qapi-visit-core.h
>>> +++ b/qapi/qapi-visit-core.h
>>> @@ -52,6 +52,14 @@ struct Visitor
>>>      void (*start_handle)(Visitor *v, void **obj, const char *kind,
>>>                           const char *name, Error **errp);
>>>      void (*end_handle)(Visitor *v, Error **errp);
>>> +    void (*type_uint8)(Visitor *v, uint8_t *obj, const char *name, Error **errp);
>>> +    void (*type_uint16)(Visitor *v, uint16_t *obj, const char *name, Error **errp);
>>> +    void (*type_uint32)(Visitor *v, uint32_t *obj, const char *name, Error **errp);
>>> +    void (*type_uint64)(Visitor *v, uint64_t *obj, const char *name, Error **errp);
>>> +    void (*type_int8)(Visitor *v, int8_t *obj, const char *name, Error **errp);
>>> +    void (*type_int16)(Visitor *v, int16_t *obj, const char *name, Error **errp);
>>> +    void (*type_int32)(Visitor *v, int32_t *obj, const char *name, Error **errp);
>>> +    void (*type_int64)(Visitor *v, int64_t *obj, const char *name, Error **errp);
>>>  };
>>>  
>>>  void visit_start_handle(Visitor *v, void **obj, const char *kind,
>>> @@ -69,6 +77,14 @@ void visit_end_optional(Visitor *v, Error **errp);
>>>  void visit_type_enum(Visitor *v, int *obj, const char *strings[],
>>>                       const char *kind, const char *name, Error **errp);
>>>  void visit_type_int(Visitor *v, int64_t *obj, const char *name, Error **errp);
>>> +void visit_type_uint8(Visitor *v, uint8_t *obj, const char *name, Error **errp);
>>> +void visit_type_uint16(Visitor *v, uint16_t *obj, const char *name, Error **errp);
>>> +void visit_type_uint32(Visitor *v, uint32_t *obj, const char *name, Error **errp);
>>> +void visit_type_uint64(Visitor *v, uint64_t *obj, const char *name, Error **errp);
>>> +void visit_type_int8(Visitor *v, int8_t *obj, const char *name, Error **errp);
>>> +void visit_type_int16(Visitor *v, int16_t *obj, const char *name, Error **errp);
>>> +void visit_type_int32(Visitor *v, int32_t *obj, const char *name, Error **errp);
>>> +void visit_type_int64(Visitor *v, int64_t *obj, const char *name, Error **errp);
>>>  void visit_type_bool(Visitor *v, bool *obj, const char *name, Error **errp);
>>>  void visit_type_str(Visitor *v, char **obj, const char *name, Error **errp);
>>>  void visit_type_number(Visitor *v, double *obj, const char *name, Error **errp);
>>
>> Shouldn't "scripts/qapi.py" be extended accordingly? (The c_type function.)
> 
> What does that affect?
> Is it a blocker for this PULL or an improvement for a follow-up?

The latter. As long as nothing actually uses these types there's no problem.

Laszlo

  reply	other threads:[~2012-06-09 15:32 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-08 15:35 [Qemu-devel] [PULL] qom-next queue, first batch: fixed-width visitors Andreas Färber
2012-06-08 15:35 ` [Qemu-devel] [PATCH 1/8] qapi: Add Visitor interfaces for uint*_t and int*_t Andreas Färber
2012-06-09 15:03   ` Laszlo Ersek
2012-06-09 15:16     ` Andreas Färber
2012-06-09 15:33       ` Laszlo Ersek [this message]
2012-06-09 20:33         ` Michael Roth
2012-06-08 15:35 ` [Qemu-devel] [PATCH 2/8] qapi: Unit tests for visitor-based serialization Andreas Färber
2012-06-08 15:35 ` [Qemu-devel] [PATCH 3/8] qapi: String visitor, use %f representation for floats Andreas Färber
2012-06-08 15:35 ` [Qemu-devel] [PATCH 4/8] qapi: Add String visitor coverage to serialization unit tests Andreas Färber
2012-06-08 15:35 ` [Qemu-devel] [PATCH 5/8] qdev: Use int32_t container for devfn property Andreas Färber
2012-06-08 15:35 ` [Qemu-devel] [PATCH 6/8] qdev: Switch property accessors to fixed-width visitor interfaces Andreas Färber
2012-06-08 15:35 ` [Qemu-devel] [PATCH 7/8] qdev: Remove PropertyInfo range checking Andreas Färber
2012-06-08 15:35 ` [Qemu-devel] [PATCH 8/8] target-i386: Use uint32 visitor for [x]level properties Andreas Färber
2012-06-08 21:39 ` [Qemu-devel] [PULL] qom-next queue, first batch: fixed-width visitors Andreas Färber
2012-06-11 17:19 ` Luiz Capitulino
2012-06-11 18:28 ` Anthony Liguori

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4FD36CBA.2070007@redhat.com \
    --to=lersek@redhat.com \
    --cc=afaerber@suse.de \
    --cc=anthony@codemonkey.ws \
    --cc=mdroth@linux.vnet.ibm.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.