提交 06a7b1ff 编写于 作者: J John Ferlan

vsh: Pass correct values for command line completion

Commit id 'dcfdf341' passes 'opts_need_arg' and 'opts_seen' to
vshCmddefGetData, but that seems to be incorrect as those values
are not initialized properly (something at least one compiler found).
Instead the static 'const_opts_need_arg' and 'const_opts_seen' values
should be passed.

By passing unitialized values leads to not finding possible options
for simpler commands (domfsfreeze for example), where if you're in
a virsh shell using command line completion - you'll get a list of
files in your current directory instead of two options --domain and
--mountpoint (as would happen with this patch applied.
上级 01193545
......@@ -2788,7 +2788,8 @@ vshReadlineParse(const char *text, int state)
/* No -- option provided and some other token given
* Try to find the default option.
*/
if (!(opt = vshCmddefGetData(cmd, &opts_need_arg, &opts_seen))
if (!(opt = vshCmddefGetData(cmd, &const_opts_need_arg,
&const_opts_seen))
|| opt->type == VSH_OT_BOOL)
goto error;
opt_exists = true;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册