Am 18.12.2012 13:41, schrieb Vasilis Liaskovitis:
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 vasilis.liaskovitis@profitbricks.com
Is this patch still needed? I thought size -> int fallback was fixed differently for the deallocation visitor...
Anyway, someone (Anthony?) recently suggested to drop the size visitor completely in favor of string type (cf. frequency visitor discussion).
Regards, Andreas
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 7a82b63..497e693 100644 --- a/qapi/qapi-visit-core.c +++ b/qapi/qapi-visit-core.c @@ -236,8 +236,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;
}}
}