This is an automated email from the ASF dual-hosted git repository. acassis pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx-apps.git
commit 4be82876e4d533a332a52a9ad797da306129e238 Author: Jean THOMAS <j...@lambdaconcept.com> AuthorDate: Wed Jun 25 15:35:23 2025 +0200 system/settings: general code cleaning * Remove duplicate checks, use switch/case whenever possible * Remove assertions just before if () condition checking the exact same thing * Replace if (condition) assert(0) with assert(condition) Signed-off-by: Jean THOMAS <j...@lambdaconcept.com> --- system/settings/settings.c | 197 ++++++++++++++++++--------------------------- 1 file changed, 78 insertions(+), 119 deletions(-) diff --git a/system/settings/settings.c b/system/settings/settings.c index b4fcef34f..2a6bccb93 100644 --- a/system/settings/settings.c +++ b/system/settings/settings.c @@ -249,7 +249,6 @@ static int set_string(FAR setting_t *setting, FAR char *str) return -EACCES; } - ASSERT(strlen(str) < CONFIG_SYSTEM_SETTINGS_VALUE_SIZE); if (strlen(str) >= CONFIG_SYSTEM_SETTINGS_VALUE_SIZE) { return -EINVAL; @@ -284,28 +283,29 @@ static int set_string(FAR setting_t *setting, FAR char *str) static int get_int(FAR setting_t *setting, FAR int *i) { assert(setting); - if ((setting->type != SETTING_INT) && - (setting->type != SETTING_BOOL) && - (setting->type != SETTING_FLOAT)) - { - return -EACCES; - } - if (setting->type == SETTING_INT) - { - *i = setting->val.i; - } - else if (setting->type == SETTING_BOOL) + switch (setting->type) { - *i = !!setting->val.i; - } - else if (setting->type == SETTING_FLOAT) - { - *i = (int)setting->val.f; - } - else - { - return -EINVAL; + case SETTING_INT: + { + *i = setting->val.i; + } + break; + case SETTING_BOOL: + { + *i = !!setting->val.i; + } + break; + case SETTING_FLOAT: + { + *i = (int)setting->val.f; + } + break; + default: + { + return -EACCES; + } + break; } return OK; @@ -359,19 +359,20 @@ static int set_int(FAR setting_t *setting, int i) static int get_bool(FAR setting_t *setting, FAR int *i) { assert(setting); - if ((setting->type != SETTING_BOOL) && - (setting->type != SETTING_INT)) - { - return -EACCES; - } - if ((setting->type == SETTING_INT) || (setting->type == SETTING_BOOL)) + switch (setting->type) { - *i = !!setting->val.i; - } - else - { - return -EINVAL; + case SETTING_INT: + case SETTING_BOOL: + { + *i = !!setting->val.i; + } + break; + default: + { + return -EACCES; + } + break; } return OK; @@ -423,23 +424,24 @@ static int set_bool(FAR setting_t *setting, int i) static int get_float(FAR setting_t *setting, FAR double *f) { assert(setting); - if ((setting->type != SETTING_FLOAT) && - (setting->type != SETTING_INT)) - { - return -EACCES; - } - if (setting->type == SETTING_FLOAT) - { - *f = setting->val.f; - } - else if (setting->type == SETTING_INT) - { - *f = (double)setting->val.i; - } - else + switch (setting->type) { - return -EINVAL; + case SETTING_FLOAT: + { + *f = setting->val.f; + } + break; + case SETTING_INT: + { + *f = (double)setting->val.i; + } + break; + default: + { + return -EACCES; + } + break; } return OK; @@ -494,24 +496,24 @@ static int get_ip(FAR setting_t *setting, FAR struct in_addr *ip) { int ret; assert(setting); - if ((setting->type != SETTING_IP_ADDR) && - (setting->type != SETTING_STRING)) - { - return -EACCES; - } - if (setting->type == SETTING_IP_ADDR) + switch (setting->type) { - memcpy(ip, &setting->val.ip, sizeof(struct in_addr)); - ret = OK; - } - else if (setting->type == SETTING_STRING) - { - ret = inet_pton(AF_INET, setting->val.s, ip); - } - else - { - ret = -EINVAL; + case SETTING_IP_ADDR: + { + memcpy(ip, &setting->val.ip, sizeof(struct in_addr)); + ret = OK; + } + break; + case SETTING_STRING: + { + ret = inet_pton(AF_INET, setting->val.s, ip); + } + break; + default: + { + return -EACCES; + } } return ret; @@ -673,10 +675,7 @@ static void dump_cache(union sigval ptr) int i; ret = pthread_mutex_lock(&g_settings.mtx); - if (ret < 0) - { - assert(0); - } + assert(ret >= 0); for (i = 0; i < CONFIG_SYSTEM_SETTINGS_MAX_STORAGES; i++) { @@ -809,10 +808,7 @@ int settings_setstorage(FAR char *file, enum storage_type_e type) int idx = 0; uint32_t h; - if (!g_settings.initialized) - { - assert(0); - } + assert(g_settings.initialized); ret = pthread_mutex_lock(&g_settings.mtx); if (ret < 0) @@ -908,10 +904,7 @@ int settings_sync(bool wait_dump) int ret = OK; uint32_t h; - if (!g_settings.initialized) - { - assert(0); - } + assert(g_settings.initialized); ret = pthread_mutex_lock(&g_settings.mtx); if (ret < 0) @@ -971,10 +964,7 @@ int settings_notify(void) int ret; int idx = 0; - if (!g_settings.initialized) - { - assert(0); - } + assert(g_settings.initialized); ret = pthread_mutex_lock(&g_settings.mtx); if (ret < 0) @@ -1026,10 +1016,7 @@ errout: int settings_hash(FAR uint32_t *h) { - if (!g_settings.initialized) - { - assert(0); - } + assert(g_settings.initialized); *h = g_settings.hash; @@ -1062,10 +1049,7 @@ int settings_clear(void) { int ret; - if (!g_settings.initialized) - { - assert(0); - } + assert(g_settings.initialized); ret = pthread_mutex_lock(&g_settings.mtx); if (ret < 0) @@ -1114,26 +1098,18 @@ int settings_create(FAR char *key, enum settings_type_e type, ...) FAR setting_t *setting = NULL; int j; - if (!g_settings.initialized) - { - assert(0); - } - - assert(type != SETTING_EMPTY); + assert(g_settings.initialized); - assert(strlen(key)); - if (strlen(key) == 0) + if (type == SETTING_EMPTY) { return -EINVAL; } - assert(strlen(key) < CONFIG_SYSTEM_SETTINGS_KEY_SIZE); - if (strlen(key) >= CONFIG_SYSTEM_SETTINGS_KEY_SIZE) + if (strlen(key) == 0 || strlen(key) >= CONFIG_SYSTEM_SETTINGS_KEY_SIZE) { return -EINVAL; } - assert(isalpha(key[0]) && (sanity_check(key) == OK)); if (!isalpha(key[0]) || (sanity_check(key) < 0)) { return -EINVAL; @@ -1168,7 +1144,6 @@ int settings_create(FAR char *key, enum settings_type_e type, ...) } } - assert(setting); if (setting == NULL) { goto errout; @@ -1314,11 +1289,7 @@ int settings_type(FAR char *key, FAR enum settings_type_e *stype) int ret; FAR setting_t *setting = NULL; - if (!g_settings.initialized) - { - assert(0); - } - + assert(g_settings.initialized); assert(stype != NULL); assert(key != NULL); @@ -1362,11 +1333,7 @@ int settings_get(FAR char *key, enum settings_type_e type, ...) int ret; FAR setting_t *setting = NULL; - if (!g_settings.initialized) - { - assert(0); - } - + assert(g_settings.initialized); assert(type != SETTING_EMPTY); assert(key[0] != '\0'); @@ -1461,11 +1428,7 @@ int settings_set(FAR char *key, enum settings_type_e type, ...) FAR setting_t *setting = NULL; uint32_t h; - if (!g_settings.initialized) - { - assert(0); - } - + assert(g_settings.initialized); assert(type != SETTING_EMPTY); assert(key[0] != '\0'); @@ -1568,11 +1531,7 @@ int settings_iterate(int idx, FAR setting_t *setting) { int ret; - if (!g_settings.initialized) - { - assert(0); - } - + assert(g_settings.initialized); assert(setting); if ((idx < 0) || (idx >= CONFIG_SYSTEM_SETTINGS_MAP_SIZE))