-if which curl >/dev/null 2>/dev/null; then
- DOWNLOAD="curl ${q:+-s }"'-f -o "$DEST.new" "$SRC"'
-elif which wget >/dev/null 2>/dev/null; then
- DOWNLOAD="wget $q"'-O "$DEST.new" "$SRC"'
-elif which lynx >/dev/null 2>/dev/null; then
- DOWNLOAD='lynx -source "$SRC" >"$DEST.new"'
-else
- echo "$0: curl, wget or lynx not available" >&2; exit 1
+DOWNLOAD=
+for t in $os_dltools; do
+ if which $t >/dev/null 2>/dev/null; then
+ case $t in
+ curl) DOWNLOAD="curl ${q:+-s }"'-f -o "$DEST.new" "$SRC"' ;;
+ lynx) DOWNLOAD='lynx -source "$SRC" >"$DEST.new"' ;;
+ wget) DOWNLOAD="wget $q"'-O "$DEST.new" "$SRC"' ;;
+ fetch) DOWNLOAD='fetch -o "$DEST.new" "$SRC"' ;; # FreeBSD
+ ftp) DOWNLOAD='ftp -o "$DEST.new" "$SRC"' ;; # OpenBSD
+ esac
+ break
+ fi
+done
+if [ -z "$DOWNLOAD" ]; then
+ echo "$0: found none of: $os_dltools" >&2; exit 1