[libvirt] [PATCH] Drop needless ret variable

Michal Prívozník mprivozn at redhat.com
Thu Oct 24 06:19:47 UTC 2019


On 10/23/19 6:47 PM, Daniel Henrique Barboza wrote:
> 
> 
> On 10/23/19 10:39 AM, Michal Privoznik wrote:
>> In few places we have the following code pattern:
>>
>>    int ret;
>>    ... /* @ret is not accessed here */
>>    ret = f(...);
>>    return ret;
>>
>> This pattern can be written less verbose:
>>
>>    ...
>>    return f(...);
>>
>> This patch was generated with following coccinelle spatch:
>>
>>    @@
>>    type T;
>>    constant C;
>>    expression f;
>>    identifier ret;
>>    @@
>>    -T ret = C;
>>     ... when != ret
>>    -ret = f;
>>    -return ret;
>>    +return f;
>>
>> Afterwards I needed to fix a few places, e.g. comment in
>> virDomainNetIPParseXML() was removed too because coccinelle
>> thinks it refers to @ret while in fact it doesn't. Also in few
>> places it replaced @ret declaration with a few spaces instead of
>> removing the line. But nothing terribly wrong.
>>
>> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> 
> Good stuff. I wonder if this Coccinelle tool would make my life easier
> in the 'cleanup: return' patch series I sent ...

Probably, I don't know how easy it is to remove labels, but I've found
this script which allows you to detect some:

https://github.com/coccinelle/coccinellery/blob/master/CONTRIB/firehose/ret/ret.cocci


> 
> Reviewed-by: Daniel Henrique Barboza <danielhb413 at gmail.com>
> 


Pushed, thanks.

Michal




More information about the libvir-list mailing list