qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 17/46] qemu-option: Smooth error checking with Coccinelle


From: Vladimir Sementsov-Ogievskiy
Subject: Re: [PATCH 17/46] qemu-option: Smooth error checking with Coccinelle
Date: Mon, 29 Jun 2020 16:58:43 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0

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<armbru@redhat.com>


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

--
Best regards,
Vladimir



reply via email to

[Prev in Thread] Current Thread [Next in Thread]