summaryrefslogtreecommitdiff
path: root/gitstatus/install
diff options
context:
space:
mode:
Diffstat (limited to 'gitstatus/install')
-rwxr-xr-xgitstatus/install8
1 files changed, 5 insertions, 3 deletions
diff --git a/gitstatus/install b/gitstatus/install
index f747015c..1ae8d8dd 100755
--- a/gitstatus/install
+++ b/gitstatus/install
@@ -207,15 +207,17 @@ END
local url="https://github.com/romkatv/gitstatus/releases/download/$version/$file.tar.gz"
local archive="$cache_dir"/"$file".tmp.$$.tar.gz
if command -v curl >/dev/null 2>&1; then
- if ! err="$(command curl -fsSLo "$archive" -- "$url" 2>&1)"; then
- >&2 echo "[gitstatus] error: failed to download gitstatusd: $url"
+ # `cd` is a workaround for Cygwin. It cannot handle -o with slashes.
+ if ! err="$(cd ${ZSH_VERSION:+-q} -- "$cache_dir" 2>&1 &&
+ command curl -fsSLo "${archive##*/}" -- "$url" 2>&1)"; then
>&2 printf "%s\n" "$err"
+ >&2 echo "[gitstatus] error: failed to download gitstatusd: $url"
return 1
fi
elif command -v wget >/dev/null 2>&1; then
if ! err="$(command wget -O "$archive" -- "$url" 2>&1)"; then
- >&2 echo "[gitstatus] error: failed to download gitstatusd: $url"
>&2 printf "%s\n" "$err"
+ >&2 echo "[gitstatus] error: failed to download gitstatusd: $url"
return 1
fi
else