[PATCH 3/9] vshReadlineParse: Bring some variables into !state block

Ján Tomko jtomko at redhat.com
Tue Jan 26 15:21:55 UTC 2021

On a Tuesday in 2021, Michal Privoznik wrote:
>On readline completion vshReadlineCompletion() is called which
>does nothing more than calling rl_completion_matches() with
>vshReadlineParse() as a callback. This means, that
>vshReadlineParse() is called repeatedly, each time returning next
>completion candidate, until it returns NULL which is interpreted
>as the end of the list of candidates. The function takes two
>parameters: @text which is a portion of input line around cursor
>when TAB was pressed, and @state. The @state is an integer that
>is zero on the very first call and non-zero on each subsequent
>call (in fact, readline does @state++ on each call). Anyway, the
>idea is that the callback gets the whole list of candidates on
>@state == 0 and returns one candidate at each call. And this is
>what vshReadlineParse() is doing but some variables (@parital,

* partial

Also, the commit message could use some newlines.


>@cmd and @opt) are really used only in the @state == 0 case but
>declared for whole function. We can limit their scope by
>declaring them inside the @state == 0 body which also means that
>they don't have to be static anymore.
>Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> tools/vsh.c | 19 +++++++++----------
> 1 file changed, 9 insertions(+), 10 deletions(-)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20210126/f56e1d42/attachment-0001.sig>

More information about the libvir-list mailing list