int size;
size = serialize(info, &bytes);
-
+ retvm_if(size == -ENOMEM, -ENOMEM, "Failed to serialize");
ipc::message msg((const char *)bytes, size);
msg.set_type(CMD_PROVIDER_CONNECT);
m_channel->send_sync(&msg);
-
+ delete []bytes;
return OP_SUCCESS;
}
int sensor_provider::publish(sensor_data_t *data, int len)
{
for (int i = 0; i < data->value_count; ++i) {
- if (std::isnan(data->values[i]) ||
- std::isnan(m_sensor.get_min_range()) ||
- std::isnan(m_sensor.get_max_range()) ||
- data->values[i] < m_sensor.get_min_range() ||
- data->values[i] > m_sensor.get_max_range()) {
+ if (!(data->values[i] >= m_sensor.get_min_range() &&
+ data->values[i] <= m_sensor.get_max_range())) {
_E("Out of range");
return OP_ERROR;
}