mirror of
https://github.com/centreon/centreon-plugins.git
synced 2025-07-28 08:04:36 +02:00
+ Fix #380
This commit is contained in:
parent
245c86f245
commit
35d6507fc3
@ -214,11 +214,13 @@ sub unix_execute {
|
|||||||
sub mymodule_load {
|
sub mymodule_load {
|
||||||
my (%options) = @_;
|
my (%options) = @_;
|
||||||
my $file;
|
my $file;
|
||||||
($file = $options{module} . ".pm") =~ s{::}{/}g;
|
($file = ($options{module} =~ /\.pm$/ ? $options{module} : $options{module} . ".pm")) =~ s{::}{/}g;
|
||||||
|
|
||||||
eval {
|
eval {
|
||||||
local $SIG{__DIE__} = 'IGNORE';
|
local $SIG{__DIE__} = 'IGNORE';
|
||||||
require $file;
|
require $file;
|
||||||
|
$file =~ s{/}{::}g;
|
||||||
|
$file =~ s/\.pm$//;
|
||||||
};
|
};
|
||||||
if ($@) {
|
if ($@) {
|
||||||
return 1 if (defined($options{no_quit}) && $options{no_quit} == 1);
|
return 1 if (defined($options{no_quit}) && $options{no_quit} == 1);
|
||||||
@ -226,7 +228,7 @@ sub mymodule_load {
|
|||||||
$options{output}->add_option_msg(short_msg => $options{error_msg});
|
$options{output}->add_option_msg(short_msg => $options{error_msg});
|
||||||
$options{output}->option_exit();
|
$options{output}->option_exit();
|
||||||
}
|
}
|
||||||
return 0;
|
return wantarray ? (0, $file) : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub backtick {
|
sub backtick {
|
||||||
|
@ -273,6 +273,7 @@ sub run {
|
|||||||
|
|
||||||
$self->check_relaunch();
|
$self->check_relaunch();
|
||||||
|
|
||||||
|
(undef, $self->{plugin}) =
|
||||||
centreon::plugins::misc::mymodule_load(output => $self->{output}, module => $self->{plugin},
|
centreon::plugins::misc::mymodule_load(output => $self->{output}, module => $self->{plugin},
|
||||||
error_msg => "Cannot load module --plugin.");
|
error_msg => "Cannot load module --plugin.");
|
||||||
my $plugin = $self->{plugin}->new(options => $self->{options}, output => $self->{output});
|
my $plugin = $self->{plugin}->new(options => $self->{options}, output => $self->{output});
|
||||||
|
@ -115,7 +115,7 @@ sub init {
|
|||||||
error_msg => "Cannot load module --mode.");
|
error_msg => "Cannot load module --mode.");
|
||||||
$self->{mode} = $self->{modes}{$self->{mode_name}}->new(options => $self->{options}, output => $self->{output}, mode => $self->{mode_name});
|
$self->{mode} = $self->{modes}{$self->{mode_name}}->new(options => $self->{options}, output => $self->{output}, mode => $self->{mode_name});
|
||||||
} elsif (defined($self->{dynmode_name}) && $self->{dynmode_name} ne '') {
|
} elsif (defined($self->{dynmode_name}) && $self->{dynmode_name} ne '') {
|
||||||
centreon::plugins::misc::mymodule_load(output => $self->{output}, module => $self->{dynmode_name},
|
(undef, $self->{dynmode_name}) = centreon::plugins::misc::mymodule_load(output => $self->{output}, module => $self->{dynmode_name},
|
||||||
error_msg => "Cannot load module --dyn-mode.");
|
error_msg => "Cannot load module --dyn-mode.");
|
||||||
$self->{mode} = $self->{dynmode_name}->new(options => $self->{options}, output => $self->{output}, mode => $self->{dynmode_name});
|
$self->{mode} = $self->{dynmode_name}->new(options => $self->{options}, output => $self->{output}, mode => $self->{dynmode_name});
|
||||||
} else {
|
} else {
|
||||||
|
@ -86,7 +86,7 @@ sub init {
|
|||||||
error_msg => "Cannot load module --mode.");
|
error_msg => "Cannot load module --mode.");
|
||||||
$self->{mode} = $self->{modes}{$self->{mode_name}}->new(options => $self->{options}, output => $self->{output}, mode => $self->{mode_name});
|
$self->{mode} = $self->{modes}{$self->{mode_name}}->new(options => $self->{options}, output => $self->{output}, mode => $self->{mode_name});
|
||||||
} elsif (defined($self->{dynmode_name}) && $self->{dynmode_name} ne '') {
|
} elsif (defined($self->{dynmode_name}) && $self->{dynmode_name} ne '') {
|
||||||
centreon::plugins::misc::mymodule_load(output => $self->{output}, module => $self->{dynmode_name},
|
(undef, $self->{dynmode_name}) = centreon::plugins::misc::mymodule_load(output => $self->{output}, module => $self->{dynmode_name},
|
||||||
error_msg => "Cannot load module --dyn-mode.");
|
error_msg => "Cannot load module --dyn-mode.");
|
||||||
$self->{mode} = $self->{dynmode_name}->new(options => $self->{options}, output => $self->{output}, mode => $self->{dynmode_name});
|
$self->{mode} = $self->{dynmode_name}->new(options => $self->{options}, output => $self->{output}, mode => $self->{dynmode_name});
|
||||||
} else {
|
} else {
|
||||||
|
@ -91,7 +91,7 @@ sub init {
|
|||||||
error_msg => "Cannot load module --mode.");
|
error_msg => "Cannot load module --mode.");
|
||||||
$self->{mode} = $self->{modes}{$self->{mode_name}}->new(options => $self->{options}, output => $self->{output}, mode => $self->{mode_name});
|
$self->{mode} = $self->{modes}{$self->{mode_name}}->new(options => $self->{options}, output => $self->{output}, mode => $self->{mode_name});
|
||||||
} elsif (defined($self->{dynmode_name}) && $self->{dynmode_name} ne '') {
|
} elsif (defined($self->{dynmode_name}) && $self->{dynmode_name} ne '') {
|
||||||
centreon::plugins::misc::mymodule_load(output => $self->{output}, module => $self->{dynmode_name},
|
(undef, $self->{dynmode_name}) = centreon::plugins::misc::mymodule_load(output => $self->{output}, module => $self->{dynmode_name},
|
||||||
error_msg => "Cannot load module --dyn-mode.");
|
error_msg => "Cannot load module --dyn-mode.");
|
||||||
$self->{mode} = $self->{dynmode_name}->new(options => $self->{options}, output => $self->{output}, mode => $self->{dynmode_name});
|
$self->{mode} = $self->{dynmode_name}->new(options => $self->{options}, output => $self->{output}, mode => $self->{dynmode_name});
|
||||||
} else {
|
} else {
|
||||||
|
@ -107,7 +107,7 @@ sub init {
|
|||||||
error_msg => "Cannot load module --mode.");
|
error_msg => "Cannot load module --mode.");
|
||||||
$self->{mode} = $self->{modes}{$self->{mode_name}}->new(options => $self->{options}, output => $self->{output}, mode => $self->{mode_name});
|
$self->{mode} = $self->{modes}{$self->{mode_name}}->new(options => $self->{options}, output => $self->{output}, mode => $self->{mode_name});
|
||||||
} elsif (defined($self->{dynmode_name}) && $self->{dynmode_name} ne '') {
|
} elsif (defined($self->{dynmode_name}) && $self->{dynmode_name} ne '') {
|
||||||
centreon::plugins::misc::mymodule_load(output => $self->{output}, module => $self->{dynmode_name},
|
(undef, $self->{dynmode_name}) = centreon::plugins::misc::mymodule_load(output => $self->{output}, module => $self->{dynmode_name},
|
||||||
error_msg => "Cannot load module --dyn-mode.");
|
error_msg => "Cannot load module --dyn-mode.");
|
||||||
$self->{mode} = $self->{dynmode_name}->new(options => $self->{options}, output => $self->{output}, mode => $self->{dynmode_name});
|
$self->{mode} = $self->{dynmode_name}->new(options => $self->{options}, output => $self->{output}, mode => $self->{dynmode_name});
|
||||||
} else {
|
} else {
|
||||||
|
@ -91,7 +91,7 @@ sub init {
|
|||||||
error_msg => "Cannot load module --mode.");
|
error_msg => "Cannot load module --mode.");
|
||||||
$self->{mode} = $self->{modes}{$self->{mode_name}}->new(options => $self->{options}, output => $self->{output}, mode => $self->{mode_name});
|
$self->{mode} = $self->{modes}{$self->{mode_name}}->new(options => $self->{options}, output => $self->{output}, mode => $self->{mode_name});
|
||||||
} elsif (defined($self->{dynmode_name}) && $self->{dynmode_name} ne '') {
|
} elsif (defined($self->{dynmode_name}) && $self->{dynmode_name} ne '') {
|
||||||
centreon::plugins::misc::mymodule_load(output => $self->{output}, module => $self->{dynmode_name},
|
(undef, $self->{dynmode_name}) = centreon::plugins::misc::mymodule_load(output => $self->{output}, module => $self->{dynmode_name},
|
||||||
error_msg => "Cannot load module --dyn-mode.");
|
error_msg => "Cannot load module --dyn-mode.");
|
||||||
$self->{mode} = $self->{dynmode_name}->new(options => $self->{options}, output => $self->{output}, mode => $self->{dynmode_name});
|
$self->{mode} = $self->{dynmode_name}->new(options => $self->{options}, output => $self->{output}, mode => $self->{dynmode_name});
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user