diff options
author | Ville Skyttä <ville.skytta@iki.fi> | 2011-11-05 00:53:39 +0200 |
---|---|---|
committer | Ville Skyttä <ville.skytta@iki.fi> | 2011-11-05 00:53:39 +0200 |
commit | 333a5a50bebcbea3f0655351b2f7c57ea195c04a (patch) | |
tree | 618f467d1f8f952ebd9d4ccdc251e9a12790a886 | |
parent | b54d3f022f73553bdec64e1da29736d41835a029 (diff) | |
download | bash-completion-333a5a50bebcbea3f0655351b2f7c57ea195c04a.tar.gz |
_known_hosts_real: Handle more than two hostnames per known hosts line (Debian: #647352).
-rw-r--r-- | bash_completion | 2 | ||||
-rw-r--r-- | test/fixtures/_known_hosts_real/known_hosts2 | 2 | ||||
-rw-r--r-- | test/unit/_known_hosts_real.exp | 8 |
3 files changed, 6 insertions, 6 deletions
diff --git a/bash_completion b/bash_completion index 8c8fab59..3bfbf724 100644 --- a/bash_completion +++ b/bash_completion @@ -1417,7 +1417,7 @@ _known_hosts_real() /^\s*[^|\#]/ { sub("^@[^ ]+ +", ""); \ sub(" .*$", ""); \ - for (i=1; i<=2; ++i) { \ + for (i=1; i<=NF; ++i) { \ sub("^\\[", "", $i); sub("\\](:[0-9]+)?$", "", $i); \ if ($i ~ /'"$awkcur"'/) {print $i} \ }}' "${kh[@]}" 2>/dev/null ) ) diff --git a/test/fixtures/_known_hosts_real/known_hosts2 b/test/fixtures/_known_hosts_real/known_hosts2 index f719efd4..b0926a40 100644 --- a/test/fixtures/_known_hosts_real/known_hosts2 +++ b/test/fixtures/_known_hosts_real/known_hosts2 @@ -1 +1 @@ -two +two,two2,two3,two4 diff --git a/test/unit/_known_hosts_real.exp b/test/unit/_known_hosts_real.exp index 0e381fa7..d4ba804e 100644 --- a/test/unit/_known_hosts_real.exp +++ b/test/unit/_known_hosts_real.exp @@ -52,8 +52,8 @@ set test "Files containing consecutive spaces should work" set hosts [get_hosts -unsorted] set hosts_orig $hosts # Hosts `gee' and `hus' are defined in `./fixtures/_known_hosts_real/spaced conf' - # Host `two' is defined in ./fixtures/_known_hosts_real/known_hosts2 -lappend hosts gee hus two + # Hosts `two*' are defined in ./fixtures/_known_hosts_real/known_hosts2 +lappend hosts gee hus two two2 two3 two4 set hosts_config $hosts # Hosts `doo' and `ike' are defined in `./fixtures/_known_hosts_/spaced known_hosts' lappend hosts doo ike @@ -78,9 +78,9 @@ sync_after_int set test "Files starting with tilde (~) should work" set hosts [get_hosts -unsorted] - # Host `two' is defined in ./fixtures/_known_hosts_real/known_hosts2 + # Hosts `two*' are defined in ./fixtures/_known_hosts_real/known_hosts2 # Host `three' is defined in ./fixtures/_known_hosts_real/known_hosts3 -lappend hosts two three +lappend hosts two two2 two3 two4 three set hosts [join [bash_sort $hosts] "\\s+"] # Setup environment set cmd {OLDHOME=$HOME; HOME=$SRCDIRABS} |