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))

Reply via email to