mirror of
https://github.com/apache/nuttx-apps.git
synced 2026-09-13 22:20:31 +00:00
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 <jean@lambdaconcept.com>
This commit is contained in:
parent
92c490579d
commit
4be82876e4
1 changed files with 78 additions and 119 deletions
|
|
@ -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)
|
||||
switch (setting->type)
|
||||
{
|
||||
*i = setting->val.i;
|
||||
}
|
||||
else if (setting->type == SETTING_BOOL)
|
||||
{
|
||||
*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)
|
||||
switch (setting->type)
|
||||
{
|
||||
*f = setting->val.f;
|
||||
}
|
||||
else if (setting->type == SETTING_INT)
|
||||
{
|
||||
*f = (double)setting->val.i;
|
||||
}
|
||||
else
|
||||
{
|
||||
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(g_settings.initialized);
|
||||
|
||||
assert(type != SETTING_EMPTY);
|
||||
|
||||
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))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue