ipmi_sensor_get_sensor_direction(sensor),
ipmi_sensor_get_event_support(sensor));
+ /* Both `ignorelist' and `sensor_name_ptr' may be NULL. */
+ if (ignorelist_match(st->ignorelist, sensor_name_ptr) != 0)
+ return 0;
+
/* FIXME: Use rate unit or base unit to scale the value */
sensor_type = ipmi_sensor_get_sensor_type(sensor);
ipmi_entity_t __attribute__((unused)) * entity,
ipmi_sensor_t *sensor, void *user_data) {
c_ipmi_instance_t *st = user_data;
- char sensor_name[DATA_MAX_NAME_LEN] = {0};
-
- sensor_get_name(sensor, sensor_name, sizeof(sensor_name));
- if (ignorelist_match(st->ignorelist, sensor_name) != 0)
- return; /* Ignore - sensor on ignore list */
if ((op == IPMI_ADDED) || (op == IPMI_CHANGED)) {
/* Will check for duplicate entries.. */
status = ipmi_sensor_add_discrete_event_handler(
sensor, sensor_discrete_event_handler, st);
- if (status)
- ERROR("Unable to add sensor %s event handler, status: %d", sensor_name,
- status);
+ if (status) {
+ char buf[DATA_MAX_NAME_LEN] = {0};
+ sensor_get_name(sensor, buf, sizeof(buf));
+ ERROR("Unable to add sensor %s event handler, status: %d", buf, status);
+ }
}
} else if (op == IPMI_DELETED) {
sensor_list_remove(st, sensor);
for (int i = 0; i < ci->children_num; i++) {
oconfig_item_t *child = ci->children + i;
- if (strcasecmp("Sensor", child->key) == 0)
- ignorelist_add(st->ignorelist, child->values[0].value.string);
- else if (strcasecmp("IgnoreSelected", child->key) == 0) {
+ if (strcasecmp("Sensor", child->key) == 0) {
+ char *value = NULL;
+ status = cf_util_get_string(child, &value);
+ if (status != 0)
+ break;
+ ignorelist_add(st->ignorelist, value);
+ sfree(value);
+ } else if (strcasecmp("IgnoreSelected", child->key) == 0) {
_Bool t;
status = cf_util_get_boolean(child, &t);
if (status != 0)