Permit cache-url to work with fifos.

This makes it easier to work with temporary files - less traps
scattered around higher layer code.

Change-Id: I2fdd93115a7b0d289c2e28f8c133d4059de75b87
This commit is contained in:
Robert Collins 2014-04-04 16:04:24 +13:00
parent 1877784d3b
commit 481f8de56a

View File

@ -24,8 +24,14 @@ url=$1
dest=$2
time_cond=
mkdir -p $(dirname $dest)
tmp=$(mktemp $(dirname $dest)/.download.XXXXXXXX)
if [ -p $dest ]; then
type="fifo"
tmp=$(mktemp --tmpdir download.XXXXXXXX)
else
type="normal"
mkdir -p $(dirname $dest)
tmp=$(mktemp $(dirname $dest)/.download.XXXXXXXX)
fi
if [ -f $dest -a -s $dest ] ; then
time_cond="-z $dest"
@ -44,7 +50,12 @@ if [ "$rcode" == "200" -o "${url:0:7}" == "file://" ] ; then
rm -f $tmp
else
echo $success
mv $tmp $dest
if [ "fifo" = "$type" ]; then
cp $tmp $dest
rm $tmp
else
mv $tmp $dest
fi
fi
# 213 is the response to a ftp MDTM command, curl outputs a 213 as the status
# if the url redirected to a ftp server and Not-Modified