X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fsnmp.c;h=800c0505ce5d14520cdeddcf547d7dc7a4576364;hb=6e41c3b1f024d7944e5e8010a87933555c662474;hp=9847c76547503af4517e5982f145f7b7376c6d7a;hpb=7b8851b26928b609ce850e78c1eabb50ff319244;p=collectd.git diff --git a/src/snmp.c b/src/snmp.c index 9847c765..800c0505 100644 --- a/src/snmp.c +++ b/src/snmp.c @@ -53,7 +53,7 @@ typedef union instance_u instance_t; struct data_definition_s { char *name; /* used to reference this from the `Collect' option */ char *type; /* used to find the data_set */ - _Bool is_table; + bool is_table; instance_t instance; char *instance_prefix; oid_t *values; @@ -63,7 +63,7 @@ struct data_definition_s { struct data_definition_s *next; char **ignores; size_t ignores_len; - _Bool invert_match; + bool invert_match; }; typedef struct data_definition_s data_definition_t; @@ -399,8 +399,7 @@ static int csnmp_config_add_data(oconfig_item_t *ci) { DEBUG("snmp plugin: dd = { name = %s, type = %s, is_table = %s, values_len = " "%" PRIsz " }", - dd->name, dd->type, (dd->is_table != 0) ? "true" : "false", - dd->values_len); + dd->name, dd->type, (dd->is_table) ? "true" : "false", dd->values_len); if (data_head == NULL) data_head = dd; @@ -830,9 +829,9 @@ static value_t csnmp_value_list_to_value(struct variable_list *vl, int type, value_t ret; uint64_t tmp_unsigned = 0; int64_t tmp_signed = 0; - _Bool defined = 1; + bool defined = 1; /* Set to true when the original SNMP type appears to have been signed. */ - _Bool prefer_signed = 0; + bool prefer_signed = 0; if ((vl->type == ASN_INTEGER) || (vl->type == ASN_UINTEGER) || (vl->type == ASN_COUNTER) @@ -1065,7 +1064,7 @@ static int csnmp_instance_list_add(csnmp_list_instances_t **head, char *ptr; csnmp_strvbcopy(il->instance, vb, sizeof(il->instance)); - _Bool is_matched = 0; + bool is_matched = 0; for (uint32_t i = 0; i < dd->ignores_len; i++) { status = fnmatch(dd->ignores[i], il->instance, 0); if (status == 0) { @@ -1119,7 +1118,7 @@ static int csnmp_dispatch_table(host_definition_t *host, csnmp_table_values_t *value_table_ptr[data->values_len]; size_t i; - _Bool have_more; + bool have_more; oid_t current_suffix; ds = plugin_get_ds(data->type); @@ -1142,7 +1141,7 @@ static int csnmp_dispatch_table(host_definition_t *host, have_more = 1; while (have_more) { - _Bool suffix_skipped = 0; + bool suffix_skipped = 0; /* Determine next suffix to handle. */ if (instance_list != NULL) { @@ -1268,7 +1267,7 @@ static int csnmp_read_table(host_definition_t *host, data_definition_t *data) { oid_t oid_list[oid_list_len]; /* Set to false when an OID has left its subtree so we don't re-request it * again. */ - _Bool oid_list_todo[oid_list_len]; + bool oid_list_todo[oid_list_len]; int status; size_t i; @@ -1434,8 +1433,12 @@ static int csnmp_read_table(host_definition_t *host, data_definition_t *data) { for (vb = res->variables, i = 0; (vb != NULL); vb = vb->next_variable, i++) { /* Calculate value index from todo list */ - while ((i < oid_list_len) && !oid_list_todo[i]) + while ((i < oid_list_len) && !oid_list_todo[i]) { i++; + } + if (i >= oid_list_len) { + break; + } /* An instance is configured and the res variable we process is the * instance value (last index) */