X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fteamspeak2.c;h=2552ad305ffcaa51decb9ab490764a1cc907e4fb;hb=ba2ee9aec4c0454eed8f29b4c6ce96c6fc372346;hp=a945bbcd377aca727bfab4fb4ec5ad30911a0e68;hpb=6b49eec15d421a74935fb1165c3e9fdb80ca838e;p=collectd.git diff --git a/src/teamspeak2.c b/src/teamspeak2.c index a945bbcd..2552ad30 100644 --- a/src/teamspeak2.c +++ b/src/teamspeak2.c @@ -25,8 +25,8 @@ #include "common.h" #include "plugin.h" -#include #include +#include #include #include #include @@ -129,7 +129,6 @@ static void tss2_submit_gauge (const char *plugin_instance, vl.values = values; vl.values_len = 1; - vl.time = time (NULL); sstrncpy (vl.host, hostname_g, sizeof (vl.host)); sstrncpy (vl.plugin, "teamspeak2", sizeof (vl.plugin)); @@ -147,7 +146,7 @@ static void tss2_submit_gauge (const char *plugin_instance, } /* void tss2_submit_gauge */ static void tss2_submit_io (const char *plugin_instance, const char *type, - counter_t rx, counter_t tx) + derive_t rx, derive_t tx) { /* * Submits the io rx/tx tuple to the collectd daemon @@ -155,12 +154,11 @@ static void tss2_submit_io (const char *plugin_instance, const char *type, value_t values[2]; value_list_t vl = VALUE_LIST_INIT; - values[0].counter = rx; - values[1].counter = tx; + values[0].derive = rx; + values[1].derive = tx; vl.values = values; vl.values_len = 2; - vl.time = time (NULL); sstrncpy (vl.host, hostname_g, sizeof (vl.host)); sstrncpy (vl.plugin, "teamspeak2", sizeof (vl.plugin)); @@ -301,6 +299,13 @@ static int tss2_get_socket (FILE **ret_read_fh, FILE **ret_write_fh) char *buffer_ptr; buffer_ptr = fgets (buffer, sizeof (buffer), global_read_fh); + if (buffer_ptr == NULL) + { + WARNING ("teamspeak2 plugin: Unexpected EOF received " + "from remote host %s:%s.", + config_host ? config_host : DEFAULT_HOST, + config_port ? config_port : DEFAULT_PORT); + } buffer[sizeof (buffer) - 1] = 0; if (memcmp ("[TS]\r\n", buffer, 6) != 0) @@ -392,7 +397,7 @@ static int tss2_select_vserver (FILE *read_fh, FILE *write_fh, vserver_list_t *v ERROR ("teamspeak2 plugin: tss2_receive_line failed."); return (-1); } - response[sizeof (response)] = 0; + response[sizeof (response) - 1] = 0; /* Check answer */ if ((strncasecmp ("OK", response, 2) == 0) @@ -408,7 +413,7 @@ static int tss2_select_vserver (FILE *read_fh, FILE *write_fh, vserver_list_t *v } /* int tss2_select_vserver */ static int tss2_vserver_gapl (FILE *read_fh, FILE *write_fh, - vserver_list_t *vserver, gauge_t *ret_value) + gauge_t *ret_value) { /* * Reads the vserver's average packet loss and submits it to collectd. @@ -440,7 +445,7 @@ static int tss2_vserver_gapl (FILE *read_fh, FILE *write_fh, ERROR ("teamspeak2 plugin: tss2_receive_line failed."); return (-1); } - buffer[sizeof (buffer)] = 0; + buffer[sizeof (buffer) - 1] = 0; if (strncmp ("average_packet_loss=", buffer, strlen ("average_packet_loss=")) == 0) @@ -500,10 +505,10 @@ static int tss2_read_vserver (vserver_list_t *vserver) gauge_t users = NAN; gauge_t channels = NAN; gauge_t servers = NAN; - counter_t rx_octets = 0; - counter_t tx_octets = 0; - counter_t rx_packets = 0; - counter_t tx_packets = 0; + derive_t rx_octets = 0; + derive_t tx_octets = 0; + derive_t rx_packets = 0; + derive_t tx_packets = 0; gauge_t packet_loss = NAN; int valid = 0; @@ -679,7 +684,7 @@ static int tss2_read_vserver (vserver_list_t *vserver) * with an error. */ if ((status == 0) && (vserver != NULL)) { - status = tss2_vserver_gapl (read_fh, write_fh, vserver, &packet_loss); + status = tss2_vserver_gapl (read_fh, write_fh, &packet_loss); if (status == 0) { valid |= 0x20;