diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rwxr-xr-x | bin/icli | 15 |
2 files changed, 13 insertions, 3 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..84c048a --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/build/ @@ -54,9 +54,6 @@ sub read_status_line { } when('servicestatus') { push(@{$data->{services}->{$cache->{host_name}}}, $cache); - if ($cache->{current_state} != 0) { - $extra->{$cache->{host_name}}->{service_problem} = 1; - } } when('contactstatus') { push(@{$data->{contacts}}, $cache); @@ -78,6 +75,17 @@ sub read_status { close($fh); } +sub enhance_status { + HOST: for my $h (keys %{$data->{services}}) { + for my $s (@{$data->{services}->{$h}}) { + if ($s->{current_state} != 0) { + $extra->{$h}->{service_problem} = 1; + next HOST; + } + } + } +} + sub service_state { my ($digit) = @_; given ($digit) { @@ -166,6 +174,7 @@ GetOptions( ); read_status(); +enhance_status(); if ($for_host) { if (have_host($for_host)) { |