From e6789ccf70a5d03a6533d626612e7a88686df0ae Mon Sep 17 00:00:00 2001 From: Guilhem Moulin Date: Sat, 26 Jan 2013 17:44:34 +0100 Subject: Added -count and -dry-run options. --- lib/Fripost/Schema/Util.pm | 32 +++++++++++++------------------- 1 file changed, 13 insertions(+), 19 deletions(-) (limited to 'lib/Fripost/Schema/Util.pm') diff --git a/lib/Fripost/Schema/Util.pm b/lib/Fripost/Schema/Util.pm index 2c71411..32f0237 100644 --- a/lib/Fripost/Schema/Util.pm +++ b/lib/Fripost/Schema/Util.pm @@ -185,38 +185,32 @@ sub ldap_error { $error = $mesg->error if $mesg->code; } - return 1 unless $error; - - if (defined $options{'-error'}) { - ${$options{'-error'}} = $error; - } - else { - die $error, "\n"; - } + &softdie( $error, %options ); } -sub assert { - my $what = shift; +sub softdie { + my $mesg = shift; my %options = @_; - return $what if defined $what; - die "Not defined.\n" unless defined $options{'-die'}; + return 1 unless $mesg; if (defined $options{'-error'}) { - ${$options{'-error'}} = $options{'-die'}; + ${$options{'-error'}} = $mesg; + } + elsif (exists $options{'-error'}) { + return; # Ignore the error } else { - die $options{'-die'}, "\n"; + die $mesg, "\n"; } } -sub softdie { - my $mesg = shift; +sub assert { + my $what = shift; my %options = @_; - return 1 unless $mesg; - $options{'-die'} = $mesg; - &assert (undef, %options); + return $what if $what; + &softdie($options{'-die'} // "Not defined.", %options); } sub dn2mail { -- cgit v1.2.3