[libvirt] [PATCH] virsh: improve option handling

Eric Blake eblake at redhat.com
Fri Jul 15 22:04:40 UTC 2011


On 07/15/2011 01:28 PM, Matthias Bolte wrote:
> 2011/7/15 Eric Blake<eblake at redhat.com>:
>> The documentation for vshCommandOptString claims that it returns
>> -1 on a missing required argument, but in reality, that error
>> message was unreachable (it was buried inside an if clause that
>> is true only if the argument was present).  The code was so hairy
>> that I decided a rewrite would make it easier to understand,
>> and actually return the error values we want.  In the process,
>> this guarantees that --option '' will either return -1 or 1,
>> depending on whether EMPTY_OK was set, reserving 0 solely
>> for the case of an option not present and not required.
>>
>> Meanwhile, our construction guarantees that all vshCmdOpt have
>> a non-null def member, so there are some redundant checks that
>> can be trimmed.
>>
>> * tools/virsh.c (vshCommandOpt): Alter signature.
>> (vshCommandOptInt, vshCommandOptUInt, vshCommandOptUL)
>> (vshCommandOptString, vshCommandOptLongLong)
>> (vshCommandOptULongLong, vshCommandOptBool): Adjust all callers.
>> ---
>>
>> This patch replaces the one mentioned here:
>> https://www.redhat.com/archives/libvir-list/2011-July/msg00995.html
>>
>>   tools/virsh.c |  302 +++++++++++++++++++++++++++++++++++++++------------------
>>   1 files changed, 206 insertions(+), 96 deletions(-)
>
> Looks good, ACK.

Thanks; pushed.

-- 
Eric Blake   eblake at redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org




More information about the libvir-list mailing list