On 06.07.2020 11:09, Markus Armbruster wrote:
The previous commit enables conversion of

     foo(..., &err);
     if (err) {
         ...
     }

to

     if (!foo(..., errp)) {
         ...
     }

for QOM functions that now return true / false on success / error.
Coccinelle script:

     @@
     identifier fun = {
         object_apply_global_props, object_initialize_child_with_props,
         object_initialize_child_with_propsv, object_property_get,
         object_property_get_bool, object_property_parse, object_property_set,
         object_property_set_bool, object_property_set_int,
         object_property_set_link, object_property_set_qobject,
         object_property_set_str, object_property_set_uint, object_set_props,
         object_set_propv, user_creatable_add_dict,
         user_creatable_complete, user_creatable_del
     };
     expression list args, args2;
     typedef Error;
     Error *err;
     @@
     -    fun(args, &err, args2);
     -    if (err)
     +    if (!fun(args, &err, args2))
          {
              ...
          }

Fails to convert hw/arm/armsse.c, because Coccinelle gets confused by
ARMSSE being used both as typedef and function-like macro there.
Convert manually.

Line breaks tidied up manually.

Signed-off-by: Markus Armbruster<arm...@redhat.com>
Reviewed-by: Eric Blake<ebl...@redhat.com>

Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com>

Reply via email to