diff --git a/rc/bin/hget b/rc/bin/hget index dca3c1522..ce258575b 100755 --- a/rc/bin/hget +++ b/rc/bin/hget @@ -47,13 +47,24 @@ if(! ~ $#o 0){ if(test -s $o) s=`{ls -l $o | awk '{print $6}'} } -if(! ~ $s 0) - r=($r 'Range: bytes='^$s^'-') <[3=0] <>/mnt/web/clone { d=/mnt/web/^`{sed 1q} if(~ $#b 1) echo -n baseurl $b >[1=0] echo -n url $1 >[1=0] + if(! ~ $s 0 && ~ $#p 0 && ~ $#P 0 && ~ $#m 0){ + for(i in $r) + echo -n headers $i >[1=0] + echo -n request HEAD >[1=0] + <$d/body { + if(~ $s `{cat $d/contentlength >[2]/dev/null}) + exit '' + } + if(~ $#b 1) + echo -n baseurl $b >[1=0] + echo -n url $1 >[1=0] + r=($r 'Range: bytes='^$s^'-') + } for(i in $r) echo -n headers $i >[1=0] if(~ $#m 1)