projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'collectd-4.5' into collectd-4.6
[collectd.git]
/
src
/
snmp.c
diff --git
a/src/snmp.c
b/src/snmp.c
index
3ba93fe
..
352075f
100644
(file)
--- a/
src/snmp.c
+++ b/
src/snmp.c
@@
-530,9
+530,9
@@
static int csnmp_config_add_host_interval (host_definition_t *hd, oconfig_item_t
return (-1);
}
return (-1);
}
- hd->interval =
(int) ci->values[0].value.number;
- if (hd->interval < 0)
-
hd->interval =
0;
+ hd->interval =
ci->values[0].value.number >= 0
+ ? (uint32_t) ci->values[0].value.number
+
:
0;
return (0);
} /* int csnmp_config_add_host_interval */
return (0);
} /* int csnmp_config_add_host_interval */
@@
-696,6
+696,7
@@
static void csnmp_host_open_session (host_definition_t *host)
}
} /* void csnmp_host_open_session */
}
} /* void csnmp_host_open_session */
+/* TODO: Check if negative values wrap around. Problem: negative temperatures. */
static value_t csnmp_value_list_to_value (struct variable_list *vl, int type,
double scale, double shift)
{
static value_t csnmp_value_list_to_value (struct variable_list *vl, int type,
double scale, double shift)
{
@@
-963,7
+964,6
@@
static int csnmp_dispatch_table (host_definition_t *host, data_definition_t *dat
sstrncpy (vl.plugin, "snmp", sizeof (vl.plugin));
vl.interval = host->interval;
sstrncpy (vl.plugin, "snmp", sizeof (vl.plugin));
vl.interval = host->interval;
- vl.time = time (NULL);
subid = 0;
have_more = 1;
subid = 0;
have_more = 1;
@@
-1139,7
+1139,7
@@
static int csnmp_read_table (host_definition_t *host, data_definition_t *data)
break;
}
break;
}
- for (i = 0; i < oid_list_len; i++)
+ for (i = 0;
(uint32_t)
i < oid_list_len; i++)
snmp_add_null_var (req, oid_list[i].oid, oid_list[i].oid_len);
res = NULL;
snmp_add_null_var (req, oid_list[i].oid, oid_list[i].oid_len);
res = NULL;
@@
-1385,7
+1385,6
@@
static int csnmp_read_value (host_definition_t *host, data_definition_t *data)
return (-1);
}
return (-1);
}
- vl.time = time (NULL);
for (vb = res->variables; vb != NULL; vb = vb->next_variable)
{
for (vb = res->variables; vb != NULL; vb = vb->next_variable)
{
@@
-1443,7
+1442,7
@@
static int csnmp_read_host (host_definition_t *host)
time_end = time (NULL);
DEBUG ("snmp plugin: csnmp_read_host (%s) finished at %u;", host->name,
(unsigned int) time_end);
time_end = time (NULL);
DEBUG ("snmp plugin: csnmp_read_host (%s) finished at %u;", host->name,
(unsigned int) time_end);
- if ((time_end - time_start) > host->interval)
+ if ((
uint32_t) (
time_end - time_start) > host->interval)
{
WARNING ("snmp plugin: Host `%s' should be queried every %i seconds, "
"but reading all values takes %u seconds.",
{
WARNING ("snmp plugin: Host `%s' should be queried every %i seconds, "
"but reading all values takes %u seconds.",
@@
-1453,7
+1452,7
@@
static int csnmp_read_host (host_definition_t *host)
return (0);
} /* int csnmp_read_host */
return (0);
} /* int csnmp_read_host */
-static void *csnmp_read_thread (void *data)
+static void *csnmp_read_thread (void
__attribute__((unused))
*data)
{
host_definition_t *host;
{
host_definition_t *host;
@@
-1506,7
+1505,7
@@
static int csnmp_init (void)
{
host->interval = interval_g;
}
{
host->interval = interval_g;
}
- else if (host->interval < interval_g)
+ else if (host->interval <
(uint32_t)
interval_g)
{
host->interval = interval_g;
WARNING ("snmp plugin: Data for host `%s' will be collected every %i seconds.",
{
host->interval = interval_g;
WARNING ("snmp plugin: Data for host `%s' will be collected every %i seconds.",