mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-23 04:55:18 +00:00
7657804df7
Our vsh bash completion string is merely just a wrapper over virsh/virt-admin complete (cmdComplete) - a hidden command that uses internal readline completion to generate list of candidates. But this means that we have to pass some additional arguments to the helper process: e.g. connection URI and R/O flag. Candidates are printed on a separate line each (and can contain space), which means that when bash is reading the helper's output into an array, it needs to split items on '\n' char - hence the IFS=$'\n' prefix on the line executing the helper. This was introduced in b889594a70. But this introduced a regression - those extra arguments we might pass are stored in a string and previously were split on a space character (because $IFS was kept untouched and by default contains space). But now, after the fix that's no longer the case and thus virsh/virt-admin sees ' -r -c URI' as one argument. The solution is to take $IFS out of the picture by storing the extra arguments in an array instead of string. Fixes: b889594a7092440dc916e3f43eeeaca2684571ee Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Erik Skultety <eskultet@redhat.com>