GETVAL => \&getval,
FLUSH => \&flush,
LISTVAL => \&listval,
+ PUTNOTIF => \&putnotif,
};
if (! $sock) {
GETVAL
FLUSH
LISTVAL
+ PUTNOTIF
See the embedded Perldoc documentation for details. To do that, run:
perldoc $0
return 1;
}
+=item B<PUTNOTIF> [[B<severity>=I<$severity>] [B<message>=I<$message>] [ ...]]
+
+=cut
+
+sub putnotif {
+ my $sock = shift || return;
+ my $line = shift || return;
+
+ my (%values) = ();
+ foreach my $i (split m/ /, $line) {
+ my($key,$val) = split m/=/, $i, 2;
+ if ($key && $val) {
+ $values{$key} = $val;
+ }
+ else {
+ $values{'message'} .= ' '.$key;
+ }
+ }
+ $values{'time'} ||= time();
+ my(@tmp) = %values;
+ return $sock->putnotif(%values);
+}
+
=back
These commands follow the exact same syntax as described in
value = strtod (str_ptr, &end_ptr);
if (str_ptr == end_ptr)
{
+ xmlFree(str_ptr);
ERROR ("ascent plugin: ascent_xml_submit_gauge: strtod failed.");
return (-1);
}
}
+ xmlFree(str_ptr);
return (ascent_submit_gauge (plugin_instance, type, type_instance, value));
} /* }}} int ascent_xml_submit_gauge */
value = strtol (str_ptr, &end_ptr, 0);
if (str_ptr == end_ptr)
{
+ xmlFree(str_ptr);
ERROR ("ascent plugin: ascent_xml_read_int: strtol failed.");
return (-1);
}
}
+ xmlFree(str_ptr);
*ret_value = value;
return (0);
&& ((inp->inp_vflag & INP_IPV6) == 0))
continue;
- conn_handle_ports (inp->inp_lport, inp->inp_fport, tp->t_state);
+ conn_handle_ports (ntohs (inp->inp_lport), ntohs (inp->inp_fport),
+ tp->t_state);
} /* for (in_ptr) */
in_orig = NULL;
ce = cache_alloc (ds->ds_num);
if (ce == NULL)
{
+ sfree (key_copy);
ERROR ("uc_insert: cache_alloc (%i) failed.", ds->ds_num);
return (-1);
}
{
ERROR ("uc_purge: realloc failed.");
c_avl_iterator_destroy (iter);
+ pthread_mutex_unlock (&cache_lock);
return (-1);
}