summaryrefslogtreecommitdiff
path: root/Debian
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2016-10-19 22:54:47 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2016-10-23 13:31:30 +0100
commit3c607d65d5675be05fb41f87fd74cd3a00016b65 (patch)
tree36bd7bb90f5e02a7ba405c0e17b441b6684bc565 /Debian
parent17ed38cfca87366fc0e505c6dfadb5ce227a57a4 (diff)
Dgit.pm: failedcmd_report_cmd: Break out of failedcmd
No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Diffstat (limited to 'Debian')
-rw-r--r--Debian/Dgit.pm10
1 files changed, 8 insertions, 2 deletions
diff --git a/Debian/Dgit.pm b/Debian/Dgit.pm
index 5c43f02..6854a7c 100644
--- a/Debian/Dgit.pm
+++ b/Debian/Dgit.pm
@@ -41,7 +41,7 @@ BEGIN {
stat_exists link_ltarget
hashfile
fail ensuredir executable_on_path
- waitstatusmsg failedcmd
+ waitstatusmsg failedcmd_report_cmd failedcmd
cmdoutput cmdoutput_errok
git_rev_parse git_get_ref git_for_each_ref
git_for_each_tag_referring is_fast_fwd
@@ -217,6 +217,12 @@ sub waitstatusmsg () {
}
}
+sub failedcmd_report_cmd {
+ my $intro = shift @_;
+ $intro //= "failed command";
+ { local ($!); printcmd \*STDERR, _us().": $intro:", @_ or die $!; };
+}
+
sub failedcmd {
# Expects $!,$? as set by close - see below.
# To use with system(), set $?=-1 first.
@@ -229,7 +235,7 @@ sub failedcmd {
# success trashed $?==0 system
# program failed trashed $? >0 system
# syscall failure $! >0 unchanged system
- { local ($!); printcmd \*STDERR, _us().": failed command:", @_ or die $!; };
+ failedcmd_report_cmd undef, @_;
if ($? < 0) {
fail "failed to fork/exec: $!";
} elsif ($?) {