about summary refs log tree commit diff
path: root/Completion/Unix/Command/_libvirt
diff options
context:
space:
mode:
authorDaniel Shahaf <d.s@daniel.shahaf.name>2016-09-06 23:40:55 +0000
committerDaniel Shahaf <d.s@daniel.shahaf.name>2016-09-06 23:41:00 +0000
commit831a336c494b55641b4ba2c8bb89a8acda2709f8 (patch)
tree935d76e460f4f543d1f517faa2f0a8c978bf565d /Completion/Unix/Command/_libvirt
parent9a722df3a6643696a54421994c8908459e29a947 (diff)
downloadzsh-831a336c494b55641b4ba2c8bb89a8acda2709f8.tar.gz
zsh-831a336c494b55641b4ba2c8bb89a8acda2709f8.tar.xz
zsh-831a336c494b55641b4ba2c8bb89a8acda2709f8.zip
39171: _libvirt: Apply $opt_args-unescaping.
This causes the value of $conn_opt in the code not to have a backslash
in front of the colon.
Diffstat (limited to 'Completion/Unix/Command/_libvirt')
-rw-r--r--Completion/Unix/Command/_libvirt1
1 files changed, 1 insertions, 0 deletions
diff --git a/Completion/Unix/Command/_libvirt b/Completion/Unix/Command/_libvirt
index 8ddc28102..658e197dc 100644
--- a/Completion/Unix/Command/_libvirt
+++ b/Completion/Unix/Command/_libvirt
@@ -116,6 +116,7 @@ esac
 local -a conn_opt
 if [[ -n ${(v)opt_args[(I)-c|--connect]} ]]; then
   local uri=${(v)opt_args[(I)-c|--connect]}
+  uri=${uri//(#m)\\([\\:])/${MATCH[2]}} # opt_args elements are colon-escaped
   # For the libvirt remote URI syntax, see:
   # https://libvirt.org/guide/html/Application_Development_Guide-Architecture-Remote_URIs.html
   [[ -z ${(Q)uri//([[:alnum:]]|+|:|\/|@|-|\.|\?|=)} ]] && \