chiark
/
gitweb
/
~ianmdlvl
/
dgit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
changelog: finalise 2.11
[dgit.git]
/
Debian
/
Dgit.pm
diff --git
a/Debian/Dgit.pm
b/Debian/Dgit.pm
index 6854a7cffd74dff3ae7a7d236d41cb5c42fc4088..57ae99418a1fc79bc4e734d15b18a36f09b5f529 100644
(file)
--- a/
Debian/Dgit.pm
+++ b/
Debian/Dgit.pm
@@
-41,7
+41,8
@@
BEGIN {
stat_exists link_ltarget
hashfile
fail ensuredir executable_on_path
stat_exists link_ltarget
hashfile
fail ensuredir executable_on_path
- waitstatusmsg failedcmd_report_cmd failedcmd
+ waitstatusmsg failedcmd_waitstatus
+ 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
cmdoutput cmdoutput_errok
git_rev_parse git_get_ref git_for_each_ref
git_for_each_tag_referring is_fast_fwd
@@
-223,6
+224,16
@@
sub failedcmd_report_cmd {
{ local ($!); printcmd \*STDERR, _us().": $intro:", @_ or die $!; };
}
{ local ($!); printcmd \*STDERR, _us().": $intro:", @_ or die $!; };
}
+sub failedcmd_waitstatus {
+ if ($? < 0) {
+ return "failed to fork/exec: $!";
+ } elsif ($?) {
+ return "subprocess ".waitstatusmsg();
+ } else {
+ return "subprocess produced invalid output";
+ }
+}
+
sub failedcmd {
# Expects $!,$? as set by close - see below.
# To use with system(), set $?=-1 first.
sub failedcmd {
# Expects $!,$? as set by close - see below.
# To use with system(), set $?=-1 first.
@@
-236,13
+247,7
@@
sub failedcmd {
# program failed trashed $? >0 system
# syscall failure $! >0 unchanged system
failedcmd_report_cmd undef, @_;
# program failed trashed $? >0 system
# syscall failure $! >0 unchanged system
failedcmd_report_cmd undef, @_;
- if ($? < 0) {
- fail "failed to fork/exec: $!";
- } elsif ($?) {
- fail "subprocess ".waitstatusmsg();
- } else {
- fail "subprocess produced invalid output";
- }
+ fail failedcmd_waitstatus();
}
sub cmdoutput_errok {
}
sub cmdoutput_errok {