qapi: Make visitor functions taking Error ** return bool, not void

See recent commit "error: Document Error API usage rules" for
rationale.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20200707160613.848843-18-armbru@redhat.com>
This commit is contained in:
Markus Armbruster 2020-07-07 18:05:45 +02:00
parent 3c4b89c3b2
commit 012d4c96e2
14 changed files with 456 additions and 361 deletions

View file

@ -22,9 +22,10 @@ struct QapiDeallocVisitor
Visitor visitor;
};
static void qapi_dealloc_start_struct(Visitor *v, const char *name, void **obj,
static bool qapi_dealloc_start_struct(Visitor *v, const char *name, void **obj,
size_t unused, Error **errp)
{
return true;
}
static void qapi_dealloc_end_struct(Visitor *v, void **obj)
@ -41,10 +42,11 @@ static void qapi_dealloc_end_alternate(Visitor *v, void **obj)
}
}
static void qapi_dealloc_start_list(Visitor *v, const char *name,
static bool qapi_dealloc_start_list(Visitor *v, const char *name,
GenericList **list, size_t size,
Error **errp)
{
return true;
}
static GenericList *qapi_dealloc_next_list(Visitor *v, GenericList *tail,
@ -59,48 +61,55 @@ static void qapi_dealloc_end_list(Visitor *v, void **obj)
{
}
static void qapi_dealloc_type_str(Visitor *v, const char *name, char **obj,
static bool qapi_dealloc_type_str(Visitor *v, const char *name, char **obj,
Error **errp)
{
if (obj) {
g_free(*obj);
}
return true;
}
static void qapi_dealloc_type_int64(Visitor *v, const char *name, int64_t *obj,
static bool qapi_dealloc_type_int64(Visitor *v, const char *name, int64_t *obj,
Error **errp)
{
return true;
}
static void qapi_dealloc_type_uint64(Visitor *v, const char *name,
static bool qapi_dealloc_type_uint64(Visitor *v, const char *name,
uint64_t *obj, Error **errp)
{
return true;
}
static void qapi_dealloc_type_bool(Visitor *v, const char *name, bool *obj,
static bool qapi_dealloc_type_bool(Visitor *v, const char *name, bool *obj,
Error **errp)
{
return true;
}
static void qapi_dealloc_type_number(Visitor *v, const char *name, double *obj,
static bool qapi_dealloc_type_number(Visitor *v, const char *name, double *obj,
Error **errp)
{
return true;
}
static void qapi_dealloc_type_anything(Visitor *v, const char *name,
static bool qapi_dealloc_type_anything(Visitor *v, const char *name,
QObject **obj, Error **errp)
{
if (obj) {
qobject_unref(*obj);
}
return true;
}
static void qapi_dealloc_type_null(Visitor *v, const char *name,
static bool qapi_dealloc_type_null(Visitor *v, const char *name,
QNull **obj, Error **errp)
{
if (obj) {
qobject_unref(*obj);
}
return true;
}
static void qapi_dealloc_free(Visitor *v)