libvirt/tools
Michal Privoznik 6ba61373b7 vsh: Accept NULL @list in vshCompleterFilter()
The aim of vshCompleterFilter() is to take a string list and a
prefix and remove all strings from the list that don't have the
desired prefix. The function is used to filter out those strings
returned by a completer callback that don't correspond with
user's (partial) input. For instance, domain name completer
virshDomainNameCompleter() returns all domain names and then
vshCompleterFilter() refines the list so that only domains with
correct prefix of their name are offered to user. This was a
design choice - it allows us to have shorter completers as they
do not have to copy the list filtering over and over.

Having said all of that, it may happen that a completer does not
return anything (e.g. there is no domain in requested state,
virsh is not connected and thus completer exited early, etc.). In
that case, the string list is NULL and vshCompleterFilter() can
simply return early.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Jonathon Jongsma <jjongsma@redhat.com>
2021-02-10 11:51:59 +01:00
..
bash-completion tools: Set IFS for bash completion script 2021-01-26 16:46:41 +01:00
nss meson: Fix build with -Dtest_coverage=true 2021-01-19 16:25:50 +01:00
wireshark meson: Fix build with -Dtest_coverage=true 2021-01-19 16:25:50 +01:00
libvirt_recover_xattrs.sh libvirt_recover_xattrs: Allow fixing multiple PATHs 2020-12-04 16:27:22 +01:00
libvirt_win_icon_16x16.ico Move virsh into tools/ directory 2009-09-21 14:41:45 +01:00
libvirt_win_icon_32x32.ico Move virsh into tools/ directory 2009-09-21 14:41:45 +01:00
libvirt_win_icon_48x48.ico Move virsh into tools/ directory 2009-09-21 14:41:45 +01:00
libvirt_win_icon_64x64.ico Move virsh into tools/ directory 2009-09-21 14:41:45 +01:00
libvirt-guests.service.in build: don't hardcode /etc in the config related files 2019-08-09 14:06:31 +01:00
libvirt-guests.sh.in libvirt-guests: Sync time for autostarted guests 2020-11-04 12:18:05 +01:00
libvirt-guests.sysconf libvirt-guests: Remove obsolete Windows comment 2020-12-07 10:38:44 +00:00
meson.build meson: Use @BASENAME@ more 2020-09-01 13:22:24 +02:00
virsh_win_icon.rc Move virsh into tools/ directory 2009-09-21 14:41:45 +01:00
virsh-backup.c virsh: limit completion of backup-{begin, dumpxml} to active domains 2020-09-14 15:52:40 +02:00
virsh-backup.h backup: Implement virsh support for backup 2019-12-10 12:41:56 +01:00
virsh-checkpoint.c tools: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:45 -05:00
virsh-checkpoint.h backup: Implement virsh support for checkpoints 2019-07-26 16:48:58 -05:00
virsh-completer-checkpoint.c virsh-completer: use g_new0 instead of VIR_ALLOC_N 2020-09-15 13:46:11 +02:00
virsh-completer-checkpoint.h tools: Separate checkpoint related completers into a file 2019-08-09 09:18:19 +02:00
virsh-completer-domain.c virsh: Fix XPATH in virshDomainDeviceAliasCompleter() 2021-01-22 10:45:54 +01:00
virsh-completer-domain.h Add lifecycle action completion to set-lifecycle-action command 2020-11-10 18:34:33 +01:00
virsh-completer-host.c lib: Replace VIR_AUTOSTRINGLIST with GStrv 2020-12-02 15:43:07 +01:00
virsh-completer-host.h virsh: Add logical CPU IDs completion for nodecpustats command 2020-11-10 18:34:02 +01:00
virsh-completer-interface.c lib: Replace VIR_AUTOSTRINGLIST with GStrv 2020-12-02 15:43:07 +01:00
virsh-completer-interface.h virsh: Add interface mac completion to iface-name command 2020-11-10 18:34:11 +01:00
virsh-completer-network.c lib: Replace VIR_AUTOSTRINGLIST with GStrv 2020-12-02 15:43:07 +01:00
virsh-completer-network.h virsh: Add mac completion to net-dhcp-leases command 2020-11-10 18:34:23 +01:00
virsh-completer-nodedev.c lib: Replace VIR_AUTOSTRINGLIST with GStrv 2020-12-02 15:43:07 +01:00
virsh-completer-nodedev.h tools: Separate nodedev related completers into a file 2019-08-09 09:10:08 +02:00
virsh-completer-nwfilter.c lib: Replace VIR_AUTOSTRINGLIST with GStrv 2020-12-02 15:43:07 +01:00
virsh-completer-nwfilter.h tools: Separate nwfilter related completers into a file 2019-08-09 09:15:36 +02:00
virsh-completer-pool.c lib: Replace VIR_AUTOSTRINGLIST with GStrv 2020-12-02 15:43:07 +01:00
virsh-completer-pool.h virsh: Introduce virshPoolTypeCompleter 2019-08-09 09:20:13 +02:00
virsh-completer-secret.c lib: Replace VIR_AUTOSTRINGLIST with GStrv 2020-12-02 15:43:07 +01:00
virsh-completer-secret.h tools: Separate secret related completers into a file 2019-08-09 09:16:28 +02:00
virsh-completer-snapshot.c lib: Replace VIR_AUTOSTRINGLIST with GStrv 2020-12-02 15:43:07 +01:00
virsh-completer-snapshot.h tools: Separate snapshot related completers into a file 2019-08-09 09:17:06 +02:00
virsh-completer-volume.c lib: Replace VIR_AUTOSTRINGLIST with GStrv 2020-12-02 15:43:07 +01:00
virsh-completer-volume.h tools: Separate storage volume related completers into a file 2019-08-09 09:07:02 +02:00
virsh-completer.c lib: Replace VIR_AUTOSTRINGLIST with GStrv 2020-12-02 15:43:07 +01:00
virsh-completer.h virsh-completer: Drop needless #include 2019-08-09 09:18:54 +02:00
virsh-console.c src: add missing headers to various files 2021-01-06 13:15:17 +01:00
virsh-console.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh-domain-monitor.c tools: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:45 -05:00
virsh-domain-monitor.h virsh: Fix virshDomainInterfaceSourceCompleter 2020-01-07 16:12:55 +01:00
virsh-domain.c tools: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:45 -05:00
virsh-domain.h virsh: Move/add some of function declarations to virsh-domain.h 2020-11-10 18:34:26 +01:00
virsh-edit.c Use G_GNUC_FALLTHROUGH instead of ATTRIBUTE_FALLTHROUGH 2019-10-15 16:14:19 +02:00
virsh-host.c virsh: Add logical CPU IDs completion for nodecpustats command 2020-11-10 18:34:02 +01:00
virsh-host.h tools: remove unnecessary includes 2020-08-03 15:30:40 +02:00
virsh-interface.c tools: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:45 -05:00
virsh-interface.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh-network.c tools: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:45 -05:00
virsh-network.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh-nodedev.c tools: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:45 -05:00
virsh-nodedev.h tools: s/Nodedev/NodeDevice/ 2019-08-09 09:03:53 +02:00
virsh-nwfilter.c tools: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:45 -05:00
virsh-nwfilter.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh-pool.c tools: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:45 -05:00
virsh-pool.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh-secret.c tools: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:45 -05:00
virsh-secret.h tools: remove unnecessary includes 2020-08-03 15:30:40 +02:00
virsh-snapshot.c tools: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:45 -05:00
virsh-snapshot.h tools: remove unnecessary includes 2020-08-03 15:30:40 +02:00
virsh-util.c src: add missing headers to various files 2021-01-06 13:15:17 +01:00
virsh-util.h virsh: Track if vol-upload or vol-download work over a block device 2020-08-24 13:32:53 +02:00
virsh-volume.c tools: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:45 -05:00
virsh-volume.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh.c vsh: Rework how option to complete is found 2021-01-26 16:46:41 +01:00
virsh.h tools: remove unnecessary includes 2020-08-03 15:30:40 +02:00
virt-admin-completer.c tools: use g_new0 instead of VIR_ALLOC* 2020-10-01 12:34:13 +02:00
virt-admin-completer.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virt-admin.c vsh: Rework how option to complete is found 2021-01-26 16:46:41 +01:00
virt-admin.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virt-host-validate-bhyve.c virt-host-validate-bhyve.c: Reintroduce @ret to virHostValidateBhyve() 2020-05-05 14:45:58 +02:00
virt-host-validate-bhyve.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virt-host-validate-common.c virt-host-validate: fix detection with cgroups v2 2020-11-19 01:18:35 +01:00
virt-host-validate-common.h tools: Secure guest check for AMD in virt-host-validate 2020-06-16 09:43:44 +02:00
virt-host-validate-lxc.c virt-host-validate: require freezer for LXC 2018-10-05 15:53:29 +02:00
virt-host-validate-lxc.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virt-host-validate-qemu.c tools: remove unnecessary includes 2020-08-03 15:30:40 +02:00
virt-host-validate-qemu.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virt-host-validate.c lib: Prefer WITH_* prefix for #if conditionals 2020-09-02 10:28:10 +02:00
virt-login-shell-helper.c Fix incorrect g_new0 conversions 2020-10-06 14:26:43 +02:00
virt-login-shell.c build: generate configmake.h in root directory 2020-01-29 14:51:39 +00:00
virt-login-shell.conf virt-login-shell: add ability to auto-detect shell from container 2016-06-10 11:03:02 +01:00
virt-pki-validate.in tools: Fix permissions for virt-pki-validate.in 2019-07-01 17:20:32 +02:00
virt-sanlock-cleanup.in build: Extract pod from source files 2016-04-25 15:40:43 +02:00
virt-xml-validate.in tools: fix XML validator detection of network port XML schema 2019-09-12 16:06:57 +01:00
vsh-table.c tools: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:45 -05:00
vsh-table.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
vsh.c vsh: Accept NULL @list in vshCompleterFilter() 2021-02-10 11:51:59 +01:00
vsh.h vsh: Rework how option to complete is found 2021-01-26 16:46:41 +01:00