Skip to content

Commit 18ef261

Browse files
author
Jean THOMAS
committed
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 <[email protected]>
1 parent c4ff19a commit 18ef261

File tree

1 file changed

+78
-119
lines changed

1 file changed

+78
-119
lines changed

system/settings/settings.c

Lines changed: 78 additions & 119 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,6 @@ static int set_string(FAR setting_t *setting, FAR char *str)
249249
return -EACCES;
250250
}
251251

252-
ASSERT(strlen(str) < CONFIG_SYSTEM_SETTINGS_VALUE_SIZE);
253252
if (strlen(str) >= CONFIG_SYSTEM_SETTINGS_VALUE_SIZE)
254253
{
255254
return -EINVAL;
@@ -284,28 +283,29 @@ static int set_string(FAR setting_t *setting, FAR char *str)
284283
static int get_int(FAR setting_t *setting, FAR int *i)
285284
{
286285
assert(setting);
287-
if ((setting->type != SETTING_INT) &&
288-
(setting->type != SETTING_BOOL) &&
289-
(setting->type != SETTING_FLOAT))
290-
{
291-
return -EACCES;
292-
}
293286

294-
if (setting->type == SETTING_INT)
295-
{
296-
*i = setting->val.i;
297-
}
298-
else if (setting->type == SETTING_BOOL)
287+
switch (setting->type)
299288
{
300-
*i = !!setting->val.i;
301-
}
302-
else if (setting->type == SETTING_FLOAT)
303-
{
304-
*i = (int)setting->val.f;
305-
}
306-
else
307-
{
308-
return -EINVAL;
289+
case SETTING_INT:
290+
{
291+
*i = setting->val.i;
292+
}
293+
break;
294+
case SETTING_BOOL:
295+
{
296+
*i = !!setting->val.i;
297+
}
298+
break;
299+
case SETTING_FLOAT:
300+
{
301+
*i = (int)setting->val.f;
302+
}
303+
break;
304+
default:
305+
{
306+
return -EACCES;
307+
}
308+
break;
309309
}
310310

311311
return OK;
@@ -359,19 +359,20 @@ static int set_int(FAR setting_t *setting, int i)
359359
static int get_bool(FAR setting_t *setting, FAR int *i)
360360
{
361361
assert(setting);
362-
if ((setting->type != SETTING_BOOL) &&
363-
(setting->type != SETTING_INT))
364-
{
365-
return -EACCES;
366-
}
367362

368-
if ((setting->type == SETTING_INT) || (setting->type == SETTING_BOOL))
363+
switch (setting->type)
369364
{
370-
*i = !!setting->val.i;
371-
}
372-
else
373-
{
374-
return -EINVAL;
365+
case SETTING_INT:
366+
case SETTING_BOOL:
367+
{
368+
*i = !!setting->val.i;
369+
}
370+
break;
371+
default:
372+
{
373+
return -EACCES;
374+
}
375+
break;
375376
}
376377

377378
return OK;
@@ -423,23 +424,24 @@ static int set_bool(FAR setting_t *setting, int i)
423424
static int get_float(FAR setting_t *setting, FAR double *f)
424425
{
425426
assert(setting);
426-
if ((setting->type != SETTING_FLOAT) &&
427-
(setting->type != SETTING_INT))
428-
{
429-
return -EACCES;
430-
}
431427

432-
if (setting->type == SETTING_FLOAT)
433-
{
434-
*f = setting->val.f;
435-
}
436-
else if (setting->type == SETTING_INT)
437-
{
438-
*f = (double)setting->val.i;
439-
}
440-
else
428+
switch (setting->type)
441429
{
442-
return -EINVAL;
430+
case SETTING_FLOAT:
431+
{
432+
*f = setting->val.f;
433+
}
434+
break;
435+
case SETTING_INT:
436+
{
437+
*f = (double)setting->val.i;
438+
}
439+
break;
440+
default:
441+
{
442+
return -EACCES;
443+
}
444+
break;
443445
}
444446

445447
return OK;
@@ -494,24 +496,24 @@ static int get_ip(FAR setting_t *setting, FAR struct in_addr *ip)
494496
{
495497
int ret;
496498
assert(setting);
497-
if ((setting->type != SETTING_IP_ADDR) &&
498-
(setting->type != SETTING_STRING))
499-
{
500-
return -EACCES;
501-
}
502499

503-
if (setting->type == SETTING_IP_ADDR)
500+
switch (setting->type)
504501
{
505-
memcpy(ip, &setting->val.ip, sizeof(struct in_addr));
506-
ret = OK;
507-
}
508-
else if (setting->type == SETTING_STRING)
509-
{
510-
ret = inet_pton(AF_INET, setting->val.s, ip);
511-
}
512-
else
513-
{
514-
ret = -EINVAL;
502+
case SETTING_IP_ADDR:
503+
{
504+
memcpy(ip, &setting->val.ip, sizeof(struct in_addr));
505+
ret = OK;
506+
}
507+
break;
508+
case SETTING_STRING:
509+
{
510+
ret = inet_pton(AF_INET, setting->val.s, ip);
511+
}
512+
break;
513+
default:
514+
{
515+
return -EACCES;
516+
}
515517
}
516518

517519
return ret;
@@ -673,10 +675,7 @@ static void dump_cache(union sigval ptr)
673675
int i;
674676

675677
ret = pthread_mutex_lock(&g_settings.mtx);
676-
if (ret < 0)
677-
{
678-
assert(0);
679-
}
678+
assert(ret >= 0);
680679

681680
for (i = 0; i < CONFIG_SYSTEM_SETTINGS_MAX_STORAGES; i++)
682681
{
@@ -809,10 +808,7 @@ int settings_setstorage(FAR char *file, enum storage_type_e type)
809808
int idx = 0;
810809
uint32_t h;
811810

812-
if (!g_settings.initialized)
813-
{
814-
assert(0);
815-
}
811+
assert(g_settings.initialized);
816812

817813
ret = pthread_mutex_lock(&g_settings.mtx);
818814
if (ret < 0)
@@ -908,10 +904,7 @@ int settings_sync(bool wait_dump)
908904
int ret = OK;
909905
uint32_t h;
910906

911-
if (!g_settings.initialized)
912-
{
913-
assert(0);
914-
}
907+
assert(g_settings.initialized);
915908

916909
ret = pthread_mutex_lock(&g_settings.mtx);
917910
if (ret < 0)
@@ -971,10 +964,7 @@ int settings_notify(void)
971964
int ret;
972965
int idx = 0;
973966

974-
if (!g_settings.initialized)
975-
{
976-
assert(0);
977-
}
967+
assert(g_settings.initialized);
978968

979969
ret = pthread_mutex_lock(&g_settings.mtx);
980970
if (ret < 0)
@@ -1026,10 +1016,7 @@ int settings_notify(void)
10261016

10271017
int settings_hash(FAR uint32_t *h)
10281018
{
1029-
if (!g_settings.initialized)
1030-
{
1031-
assert(0);
1032-
}
1019+
assert(g_settings.initialized);
10331020

10341021
*h = g_settings.hash;
10351022

@@ -1062,10 +1049,7 @@ int settings_clear(void)
10621049
{
10631050
int ret;
10641051

1065-
if (!g_settings.initialized)
1066-
{
1067-
assert(0);
1068-
}
1052+
assert(g_settings.initialized);
10691053

10701054
ret = pthread_mutex_lock(&g_settings.mtx);
10711055
if (ret < 0)
@@ -1114,26 +1098,18 @@ int settings_create(FAR char *key, enum settings_type_e type, ...)
11141098
FAR setting_t *setting = NULL;
11151099
int j;
11161100

1117-
if (!g_settings.initialized)
1118-
{
1119-
assert(0);
1120-
}
1121-
1122-
assert(type != SETTING_EMPTY);
1101+
assert(g_settings.initialized);
11231102

1124-
assert(strlen(key));
1125-
if (strlen(key) == 0)
1103+
if (type == SETTING_EMPTY)
11261104
{
11271105
return -EINVAL;
11281106
}
11291107

1130-
assert(strlen(key) < CONFIG_SYSTEM_SETTINGS_KEY_SIZE);
1131-
if (strlen(key) >= CONFIG_SYSTEM_SETTINGS_KEY_SIZE)
1108+
if (strlen(key) == 0 || strlen(key) >= CONFIG_SYSTEM_SETTINGS_KEY_SIZE)
11321109
{
11331110
return -EINVAL;
11341111
}
11351112

1136-
assert(isalpha(key[0]) && (sanity_check(key) == OK));
11371113
if (!isalpha(key[0]) || (sanity_check(key) < 0))
11381114
{
11391115
return -EINVAL;
@@ -1168,7 +1144,6 @@ int settings_create(FAR char *key, enum settings_type_e type, ...)
11681144
}
11691145
}
11701146

1171-
assert(setting);
11721147
if (setting == NULL)
11731148
{
11741149
goto errout;
@@ -1314,11 +1289,7 @@ int settings_type(FAR char *key, FAR enum settings_type_e *stype)
13141289
int ret;
13151290
FAR setting_t *setting;
13161291

1317-
if (!g_settings.initialized)
1318-
{
1319-
assert(0);
1320-
}
1321-
1292+
assert(g_settings.initialized);
13221293
assert(stype != NULL);
13231294
assert(key != NULL);
13241295

@@ -1362,11 +1333,7 @@ int settings_get(FAR char *key, enum settings_type_e type, ...)
13621333
int ret;
13631334
FAR setting_t *setting;
13641335

1365-
if (!g_settings.initialized)
1366-
{
1367-
assert(0);
1368-
}
1369-
1336+
assert(g_settings.initialized);
13701337
assert(type != SETTING_EMPTY);
13711338
assert(key[0] != '\0');
13721339

@@ -1461,11 +1428,7 @@ int settings_set(FAR char *key, enum settings_type_e type, ...)
14611428
FAR setting_t *setting;
14621429
uint32_t h;
14631430

1464-
if (!g_settings.initialized)
1465-
{
1466-
assert(0);
1467-
}
1468-
1431+
assert(g_settings.initialized);
14691432
assert(type != SETTING_EMPTY);
14701433
assert(key[0] != '\0');
14711434

@@ -1568,11 +1531,7 @@ int settings_iterate(int idx, FAR setting_t *setting)
15681531
{
15691532
int ret;
15701533

1571-
if (!g_settings.initialized)
1572-
{
1573-
assert(0);
1574-
}
1575-
1534+
assert(g_settings.initialized);
15761535
assert(setting);
15771536

15781537
if ((idx < 0) || (idx >= CONFIG_SYSTEM_SETTINGS_MAP_SIZE))

0 commit comments

Comments
 (0)