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
09aca56
..
352075f
100644
(file)
--- a/
src/snmp.c
+++ b/
src/snmp.c
@@
-118,6
+118,7
@@
static pthread_cond_t host_cond = PTHREAD_COND_INITIALIZER;
/*
* Private functions
*/
/*
* Private functions
*/
+/* Many functions to handle the configuration. {{{ */
/* First there are many functions which do configuration stuff. It's a big
* bloated and messy, I'm afraid. */
/* First there are many functions which do configuration stuff. It's a big
* bloated and messy, I'm afraid. */
@@
-529,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 */
@@
-656,7
+657,7
@@
static int csnmp_config (oconfig_item_t *ci)
return (0);
} /* int csnmp_config */
return (0);
} /* int csnmp_config */
-/* End of the config stuff. Now the interesting part begins */
+/*
}}}
End of the config stuff. Now the interesting part begins */
static void csnmp_host_close_session (host_definition_t *host)
{
static void csnmp_host_close_session (host_definition_t *host)
{
@@
-695,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)
{
@@
-962,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;
@@
-1138,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;
@@
-1384,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)
{
@@
-1442,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.",
@@
-1452,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;
@@
-1505,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.",
@@
-1634,5
+1634,5
@@
void module_register (void)
} /* void module_register */
/*
} /* void module_register */
/*
- * vim: shiftwidth=2 softtabstop=2 tabstop=8
+ * vim: shiftwidth=2 softtabstop=2 tabstop=8
fdm=marker
*/
*/