diff options
Diffstat (limited to 'Debian/Dgit')
-rw-r--r-- | Debian/Dgit/ExitStatus.pm | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/Debian/Dgit/ExitStatus.pm b/Debian/Dgit/ExitStatus.pm new file mode 100644 index 0000000..b69d42d --- /dev/null +++ b/Debian/Dgit/ExitStatus.pm @@ -0,0 +1,26 @@ +# -*- perl -*- + +package Debian::Dgit::ExitStatus; + +# To use this, at the top (before use strict, even): +# +# END { $? = $Debian::Dgit::ExitStatus::desired // -1; }; +# use Debian::Dgit::ExitStatus; +# +# and then replace every call to `exit' with `finish'. +# Add a `finish 0' to the end of the program. + +BEGIN { + use Exporter; + @ISA = qw(Exporter); + @EXPORT = qw(finish $desired); +} + +our $desired; + +sub finish ($) { + $desired = $_[0] // 0; + exit $desired; +} + +1; |