mirror of
https://github.com/DarkFlippers/unleashed-firmware.git
synced 2025-12-13 05:06:30 +04:00
Api Symbols: replace asserts with checks (#3507)
* Api Symbols: replace asserts with checks * Api Symbols: replace asserts with checks part 2 * Update no args function signatures with void, to help compiler to track incorrect usage * More unavoidable void * Update PVS config and code to make it happy * Format sources * nfc: fix checks * dead code cleanup & include fixes Co-authored-by: gornekich <n.gorbadey@gmail.com> Co-authored-by: hedger <hedger@users.noreply.github.com> Co-authored-by: hedger <hedger@nanode.su>
This commit is contained in:
@@ -8,6 +8,8 @@ struct ProtocolDict {
|
||||
};
|
||||
|
||||
ProtocolDict* protocol_dict_alloc(const ProtocolBase** protocols, size_t count) {
|
||||
furi_check(protocols);
|
||||
|
||||
ProtocolDict* dict = malloc(sizeof(ProtocolDict));
|
||||
dict->base = protocols;
|
||||
dict->count = count;
|
||||
@@ -21,6 +23,8 @@ ProtocolDict* protocol_dict_alloc(const ProtocolBase** protocols, size_t count)
|
||||
}
|
||||
|
||||
void protocol_dict_free(ProtocolDict* dict) {
|
||||
furi_check(dict);
|
||||
|
||||
for(size_t i = 0; i < dict->count; i++) {
|
||||
dict->base[i]->free(dict->data[i]);
|
||||
}
|
||||
@@ -34,8 +38,9 @@ void protocol_dict_set_data(
|
||||
size_t protocol_index,
|
||||
const uint8_t* data,
|
||||
size_t data_size) {
|
||||
furi_assert(protocol_index < dict->count);
|
||||
furi_assert(dict->base[protocol_index]->get_data != NULL);
|
||||
furi_check(protocol_index < dict->count);
|
||||
furi_check(dict->base[protocol_index]->get_data != NULL);
|
||||
|
||||
uint8_t* protocol_data = dict->base[protocol_index]->get_data(dict->data[protocol_index]);
|
||||
size_t protocol_data_size = dict->base[protocol_index]->data_size;
|
||||
furi_check(data_size >= protocol_data_size);
|
||||
@@ -47,8 +52,9 @@ void protocol_dict_get_data(
|
||||
size_t protocol_index,
|
||||
uint8_t* data,
|
||||
size_t data_size) {
|
||||
furi_assert(protocol_index < dict->count);
|
||||
furi_assert(dict->base[protocol_index]->get_data != NULL);
|
||||
furi_check(protocol_index < dict->count);
|
||||
furi_check(dict->base[protocol_index]->get_data != NULL);
|
||||
|
||||
uint8_t* protocol_data = dict->base[protocol_index]->get_data(dict->data[protocol_index]);
|
||||
size_t protocol_data_size = dict->base[protocol_index]->data_size;
|
||||
furi_check(data_size >= protocol_data_size);
|
||||
@@ -56,11 +62,12 @@ void protocol_dict_get_data(
|
||||
}
|
||||
|
||||
size_t protocol_dict_get_data_size(ProtocolDict* dict, size_t protocol_index) {
|
||||
furi_assert(protocol_index < dict->count);
|
||||
furi_check(protocol_index < dict->count);
|
||||
return dict->base[protocol_index]->data_size;
|
||||
}
|
||||
|
||||
size_t protocol_dict_get_max_data_size(ProtocolDict* dict) {
|
||||
furi_check(dict);
|
||||
size_t max_data_size = 0;
|
||||
for(size_t i = 0; i < dict->count; i++) {
|
||||
size_t data_size = dict->base[i]->data_size;
|
||||
@@ -73,16 +80,18 @@ size_t protocol_dict_get_max_data_size(ProtocolDict* dict) {
|
||||
}
|
||||
|
||||
const char* protocol_dict_get_name(ProtocolDict* dict, size_t protocol_index) {
|
||||
furi_assert(protocol_index < dict->count);
|
||||
furi_check(protocol_index < dict->count);
|
||||
return dict->base[protocol_index]->name;
|
||||
}
|
||||
|
||||
const char* protocol_dict_get_manufacturer(ProtocolDict* dict, size_t protocol_index) {
|
||||
furi_assert(protocol_index < dict->count);
|
||||
furi_check(protocol_index < dict->count);
|
||||
return dict->base[protocol_index]->manufacturer;
|
||||
}
|
||||
|
||||
void protocol_dict_decoders_start(ProtocolDict* dict) {
|
||||
furi_check(dict);
|
||||
|
||||
for(size_t i = 0; i < dict->count; i++) {
|
||||
ProtocolDecoderStart fn = dict->base[i]->decoder.start;
|
||||
|
||||
@@ -93,11 +102,13 @@ void protocol_dict_decoders_start(ProtocolDict* dict) {
|
||||
}
|
||||
|
||||
uint32_t protocol_dict_get_features(ProtocolDict* dict, size_t protocol_index) {
|
||||
furi_assert(protocol_index < dict->count);
|
||||
furi_check(protocol_index < dict->count);
|
||||
return dict->base[protocol_index]->features;
|
||||
}
|
||||
|
||||
ProtocolId protocol_dict_decoders_feed(ProtocolDict* dict, bool level, uint32_t duration) {
|
||||
furi_check(dict);
|
||||
|
||||
bool done = false;
|
||||
ProtocolId ready_protocol_id = PROTOCOL_NO;
|
||||
|
||||
@@ -122,6 +133,8 @@ ProtocolId protocol_dict_decoders_feed_by_feature(
|
||||
uint32_t feature,
|
||||
bool level,
|
||||
uint32_t duration) {
|
||||
furi_check(dict);
|
||||
|
||||
bool done = false;
|
||||
ProtocolId ready_protocol_id = PROTOCOL_NO;
|
||||
|
||||
@@ -149,7 +162,7 @@ ProtocolId protocol_dict_decoders_feed_by_id(
|
||||
size_t protocol_index,
|
||||
bool level,
|
||||
uint32_t duration) {
|
||||
furi_assert(protocol_index < dict->count);
|
||||
furi_check(protocol_index < dict->count);
|
||||
|
||||
ProtocolId ready_protocol_id = PROTOCOL_NO;
|
||||
ProtocolDecoderFeed fn = dict->base[protocol_index]->decoder.feed;
|
||||
@@ -164,7 +177,7 @@ ProtocolId protocol_dict_decoders_feed_by_id(
|
||||
}
|
||||
|
||||
bool protocol_dict_encoder_start(ProtocolDict* dict, size_t protocol_index) {
|
||||
furi_assert(protocol_index < dict->count);
|
||||
furi_check(protocol_index < dict->count);
|
||||
ProtocolEncoderStart fn = dict->base[protocol_index]->encoder.start;
|
||||
|
||||
if(fn) {
|
||||
@@ -175,7 +188,7 @@ bool protocol_dict_encoder_start(ProtocolDict* dict, size_t protocol_index) {
|
||||
}
|
||||
|
||||
LevelDuration protocol_dict_encoder_yield(ProtocolDict* dict, size_t protocol_index) {
|
||||
furi_assert(protocol_index < dict->count);
|
||||
furi_check(protocol_index < dict->count);
|
||||
ProtocolEncoderYield fn = dict->base[protocol_index]->encoder.yield;
|
||||
|
||||
if(fn) {
|
||||
@@ -186,7 +199,7 @@ LevelDuration protocol_dict_encoder_yield(ProtocolDict* dict, size_t protocol_in
|
||||
}
|
||||
|
||||
void protocol_dict_render_data(ProtocolDict* dict, FuriString* result, size_t protocol_index) {
|
||||
furi_assert(protocol_index < dict->count);
|
||||
furi_check(protocol_index < dict->count);
|
||||
ProtocolRenderData fn = dict->base[protocol_index]->render_data;
|
||||
|
||||
if(fn) {
|
||||
@@ -195,7 +208,7 @@ void protocol_dict_render_data(ProtocolDict* dict, FuriString* result, size_t pr
|
||||
}
|
||||
|
||||
void protocol_dict_render_brief_data(ProtocolDict* dict, FuriString* result, size_t protocol_index) {
|
||||
furi_assert(protocol_index < dict->count);
|
||||
furi_check(protocol_index < dict->count);
|
||||
ProtocolRenderData fn = dict->base[protocol_index]->render_brief_data;
|
||||
|
||||
if(fn) {
|
||||
@@ -204,11 +217,13 @@ void protocol_dict_render_brief_data(ProtocolDict* dict, FuriString* result, siz
|
||||
}
|
||||
|
||||
uint32_t protocol_dict_get_validate_count(ProtocolDict* dict, size_t protocol_index) {
|
||||
furi_assert(protocol_index < dict->count);
|
||||
furi_check(protocol_index < dict->count);
|
||||
return dict->base[protocol_index]->validate_count;
|
||||
}
|
||||
|
||||
ProtocolId protocol_dict_get_protocol_by_name(ProtocolDict* dict, const char* name) {
|
||||
furi_check(dict);
|
||||
furi_check(name);
|
||||
for(size_t i = 0; i < dict->count; i++) {
|
||||
if(strcmp(name, protocol_dict_get_name(dict, i)) == 0) {
|
||||
return i;
|
||||
@@ -218,9 +233,9 @@ ProtocolId protocol_dict_get_protocol_by_name(ProtocolDict* dict, const char* na
|
||||
}
|
||||
|
||||
bool protocol_dict_get_write_data(ProtocolDict* dict, size_t protocol_index, void* data) {
|
||||
furi_assert(protocol_index < dict->count);
|
||||
furi_check(protocol_index < dict->count);
|
||||
ProtocolWriteData fn = dict->base[protocol_index]->write_data;
|
||||
|
||||
furi_assert(fn);
|
||||
furi_check(fn);
|
||||
return fn(dict->data[protocol_index], data);
|
||||
}
|
||||
Reference in New Issue
Block a user