use File::Temp qw(tempfile);
use File::stat;
use Getopt::Long qw(:config gnu_getopt no_ignore_case);
+use POSIX qw(WIFEXITED WEXITSTATUS WIFSIGNALED WTERMSIG);
use Pod::Usage;
use constant LOCK_TRIES => 60;
my $mh;
-$mh = `mhpath +` or die;
+$mh = `mhpath +`; $? >= 0 or die;
chomp($mh);
+if (!$mh) {
+ die('mhpath did not give MH mail path: ' . exit_msg($?));
+}
$ENV{"MHCONTEXT"} = $mh . '/.minc.context';
###############################################################################
# Utility procedures
+sub exit_msg {
+ my $status = shift;
+ WIFEXITED($status) && return 'exited with status ' . WEXITSTATUS($status);
+ WIFSIGNALED($status) && return 'killed with signal ' . WTERMSIG($status);
+ # WTF
+ "died ($status)";
+}
+
sub sort_by_list {
my $a = shift;
my $b = shift;