24.06.2020 19:43, Markus Armbruster wrote:
The previous commit enables conversion of

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

to

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

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

     @@
     identifier fun = {opts_do_parse, parse_option_bool, parse_option_number, 
parse_option_size, qemu_opt_parse, qemu_opt_rename, qemu_opt_set, 
qemu_opt_set_bool, qemu_opt_set_number, qemu_opts_absorb_qdict, 
qemu_opts_do_parse, qemu_opts_from_qdict_entry, qemu_opts_set, 
qemu_opts_validate};
     expression list args, args2;
     typedef Error;
     Error *err;
     identifier errp;
     @@
     -      fun(args, &err, args2);
     -      if (err) {
     +      if (!fun(args, errp, args2)) {
               ... when != err
     -     error_propagate(errp, err);
               ...
           }

     @@
     identifier fun = {opts_do_parse, parse_option_bool, parse_option_number, 
parse_option_size, qemu_opt_parse, qemu_opt_rename, qemu_opt_set, 
qemu_opt_set_bool, qemu_opt_set_number, qemu_opts_absorb_qdict, 
qemu_opts_do_parse, qemu_opts_from_qdict_entry, qemu_opts_set, 
qemu_opts_validate};
     expression list args, args2;
     typedef Error;
     Error *err;
     @@
     -      fun(args, &err, args2);
     -      if (err) {
     +      if (!fun(args, &err, args2)) {
               ...
           }

Eliminate error_propagate() that are now unnecessary.  Delete @err
that are now unused.  Tidy up line breaks and whitespace.

Signed-off-by: Markus Armbruster<arm...@redhat.com>


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

--
Best regards,
Vladimir

Reply via email to