diff options
| author | B. Watson <yalhcru@gmail.com> | 2015-10-22 06:25:08 -0400 | 
|---|---|---|
| committer | B. Watson <yalhcru@gmail.com> | 2015-10-22 06:25:08 -0400 | 
| commit | 470d963f883266ceb3f28fbb674c6dd4950d381a (patch) | |
| tree | cb52f13f3781796cbc76672ffa4763bd067c05a2 /sbosrcarch | |
| parent | e8cffa2fa006a26468f93685e8aa1dd187113621 (diff) | |
| download | sbostuff-470d963f883266ceb3f28fbb674c6dd4950d381a.tar.gz | |
sbosrcarch: show proper errors when curl fails and $maxfilemegs == 0
Diffstat (limited to 'sbosrcarch')
| -rwxr-xr-x | sbosrcarch | 22 | 
1 files changed, 21 insertions, 1 deletions
@@ -638,10 +638,13 @@ sub curl_download_http {  			user_agent($url) .  			" -o'$filename' --retry 2 " .  			wget_quote_url($url) . +			" -D $outfile.hdr " .  			" > $outfile 2>&1";  	warn "* $cmd\n" if $DEBUG_HTTP;  	my $retval = system($cmd); +	print "curl retval==$retval\n" if $DEBUG_HTTP; +  	if($retval != 0) {  		open my $fh, "<$outfile";  		while(<$fh>) { @@ -649,6 +652,22 @@ sub curl_download_http {  		}  	} +	open $fh, "<$outfile.hdr"; +	while(<$fh>) { +		$_ =~ s,[\r\n],,g; +		next unless /^HTTP\/\S+\s+(\d+)/; +		$httpstatusline = $_, $httpstatus = $1; +	} + +	unlink($outfile); +	unlink("$outfile.hdr"); + +	if($httpstatus ne "200") { +		print "! $httpstatusline\n"; +		unlink $filename; +		return undef; +	} +  	if(-f $filename) {  		$size = -s _;  		warn "* $filename exists, $size bytes\n" if $DEBUG_HTTP; @@ -1079,7 +1098,8 @@ sub handle_info_file {  				local $maxfilemegs = 0 if whitelisted($category, $prgnam);  				download_file($url); # TODO: check result!  			} -			if(! -f $filename) { +			if(! -f $filename || -z $filename) { +				unlink($filename);  				$failcount++;  				print "- not downloaded\n";  				next;  | 
