blob: 7c7c945d479ea0bea308cce4510560eb6f8df7d8 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# function zfopen {
# Use zftp params to set parameters for open, rather than sending
# them straight to open. That way they are stored for a future open
# command.
#
# With option -1 (just this 1ce), don't do that.
emulate -L zsh
local opt dir opt_1 setparams
while getopts :1 opt; do
[[ $opt = "?" ]] && print "zfopen: bad option: -$OPTARG" >&2 && return 1
eval "opt_$opt=1"
done
(( OPTIND > 1 )) && shift $(( OPTIND - 1 ))
# This is where we should try and do same name-lookupage in
# both .netrc and .ncftp/bookmarks . We could even try saving
# the info in their for new hosts, like ncftp does.
if [[ $1 = */* ]]; then
1=${1##ftp://}
dir=${1#*/}
1=${1%%/*}
fi
if [[ $opt_1 = 1 ]]; then
zftp open $* || return 1
if [[ $# = 1 ]]; then
if ! zftp login; then
zftp close
return 1
fi
fi
else
# set parameters, but only if there was at least a host
(( $# > 0 )) && zfparams $* && setparams=1
# now call with no parameters
if ! zftp open; then
[[ -n $ZFTP_HOST ]] && zftp close
[[ -n $setparams ]] && zfparams -
return 1
fi
fi
if [[ -n $dir ]]; then
zfcd $dir
fi
# }
|