diff --git a/edslib/fsw/src/edslib_binding_objects.c b/edslib/fsw/src/edslib_binding_objects.c index 7e43408..11d6715 100644 --- a/edslib/fsw/src/edslib_binding_objects.c +++ b/edslib/fsw/src/edslib_binding_objects.c @@ -34,13 +34,9 @@ #include #include #include -#include #include #include #include -#include -#include -#include #include "edslib_id.h" #include "edslib_datatypedb.h" diff --git a/edslib/fsw/src/edslib_database_ops.c b/edslib/fsw/src/edslib_database_ops.c index a3f056d..333c821 100644 --- a/edslib/fsw/src/edslib_database_ops.c +++ b/edslib/fsw/src/edslib_database_ops.c @@ -36,7 +36,6 @@ #include #include -#include #include #include diff --git a/edslib/fsw/src/edslib_datatypedb_api.c b/edslib/fsw/src/edslib_datatypedb_api.c index 794e58b..718b5ed 100644 --- a/edslib/fsw/src/edslib_datatypedb_api.c +++ b/edslib/fsw/src/edslib_datatypedb_api.c @@ -37,7 +37,6 @@ #include #include -#include #include #include diff --git a/edslib/fsw/src/edslib_datatypedb_constraints.c b/edslib/fsw/src/edslib_datatypedb_constraints.c index 052b672..9bdbefa 100644 --- a/edslib/fsw/src/edslib_datatypedb_constraints.c +++ b/edslib/fsw/src/edslib_datatypedb_constraints.c @@ -35,7 +35,6 @@ #include #include -#include #include #include diff --git a/edslib/fsw/src/edslib_datatypedb_lookup.c b/edslib/fsw/src/edslib_datatypedb_lookup.c index 8aa31ae..5a42fff 100644 --- a/edslib/fsw/src/edslib_datatypedb_lookup.c +++ b/edslib/fsw/src/edslib_datatypedb_lookup.c @@ -36,7 +36,6 @@ #include #include -#include #include #include diff --git a/edslib/fsw/src/edslib_datatypedb_pack_unpack.c b/edslib/fsw/src/edslib_datatypedb_pack_unpack.c index 009c1db..97e4060 100644 --- a/edslib/fsw/src/edslib_datatypedb_pack_unpack.c +++ b/edslib/fsw/src/edslib_datatypedb_pack_unpack.c @@ -51,7 +51,6 @@ #include #include -#include #include #include #include diff --git a/edslib/fsw/src/edslib_displaydb_api.c b/edslib/fsw/src/edslib_displaydb_api.c index 8c8ead9..376949b 100644 --- a/edslib/fsw/src/edslib_displaydb_api.c +++ b/edslib/fsw/src/edslib_displaydb_api.c @@ -31,7 +31,6 @@ #include #include -#include #include #include diff --git a/edslib/fsw/src/edslib_displaydb_iterator.c b/edslib/fsw/src/edslib_displaydb_iterator.c index 9badf2b..04df100 100644 --- a/edslib/fsw/src/edslib_displaydb_iterator.c +++ b/edslib/fsw/src/edslib_displaydb_iterator.c @@ -33,7 +33,6 @@ #include #include -#include #include #include diff --git a/edslib/fsw/src/edslib_displaydb_locate.c b/edslib/fsw/src/edslib_displaydb_locate.c index 61fccdb..78ecc98 100644 --- a/edslib/fsw/src/edslib_displaydb_locate.c +++ b/edslib/fsw/src/edslib_displaydb_locate.c @@ -30,7 +30,6 @@ #include #include -#include #include #include diff --git a/edslib/fsw/src/edslib_displaydb_lookup.c b/edslib/fsw/src/edslib_displaydb_lookup.c index 303e7ab..24c012a 100644 --- a/edslib/fsw/src/edslib_displaydb_lookup.c +++ b/edslib/fsw/src/edslib_displaydb_lookup.c @@ -33,7 +33,6 @@ #include #include -#include #include #include diff --git a/edslib/fsw/src/edslib_displaydb_stringconv.c b/edslib/fsw/src/edslib_displaydb_stringconv.c index 9fbf3c8..56404f6 100644 --- a/edslib/fsw/src/edslib_displaydb_stringconv.c +++ b/edslib/fsw/src/edslib_displaydb_stringconv.c @@ -32,13 +32,56 @@ #include #include #include -#include #include #include #include #include "edslib_internal.h" + +/*---------------------------------------------------------------- + * + * EdsLib local helper function + * + *----------------------------------------------------------------*/ +static int32_t EdsLib_Internal_StringCompare_IgnoreCase(const char *String1, + const char *String2) +{ + uint32_t Index = 0U; + int32_t Result = 0; + int Char1; + int Char2; + + while (Result == 0) + { + Char1 = (int)String1[Index]; + Char2 = (int)String2[Index]; + + if (Char1 == '\0' || Char2 == '\0') + { + Result = Char1 - Char2; + break; + } + + /* Convert characters to lower case if they're alphabetical */ + if (isalpha(Char1)) + { + Char1 = tolower(Char1); + } + + if (isalpha(Char2)) + { + Char2 = tolower(Char2); + } + + Result = Char1 - Char2; + + ++Index; + } + + return Result; +} + /*---------------------------------------------------------------- * * EdsLib internal function @@ -419,22 +462,22 @@ int32_t EdsLib_DisplayScalarConv_FromString_Impl(const EdsLib_DataTypeDB_Entry_t { /* typically TRUE/FALSE, also accept YES/NO or 0/1 */ const char *EndPtr = SrcString; - if (strcasecmp(SrcString, "true") == 0) + if (EdsLib_Internal_StringCompare_IgnoreCase(SrcString, "true") == 0) { EndPtr += 4; NumberBuffer.Value.UnsignedInteger = 1; } - else if (strcasecmp(SrcString, "false") == 0) + else if (EdsLib_Internal_StringCompare_IgnoreCase(SrcString, "false") == 0) { EndPtr += 4; NumberBuffer.Value.UnsignedInteger = 0; } - else if (strcasecmp(SrcString, "yes") == 0) + else if (EdsLib_Internal_StringCompare_IgnoreCase(SrcString, "yes") == 0) { EndPtr += 3; NumberBuffer.Value.UnsignedInteger = 1; } - else if (strcasecmp(SrcString, "no") == 0) + else if (EdsLib_Internal_StringCompare_IgnoreCase(SrcString, "no") == 0) { EndPtr += 2; NumberBuffer.Value.UnsignedInteger = 0; diff --git a/edslib/fsw/src/edslib_global_api.c b/edslib/fsw/src/edslib_global_api.c index b43a88b..c58ecb9 100644 --- a/edslib/fsw/src/edslib_global_api.c +++ b/edslib/fsw/src/edslib_global_api.c @@ -31,7 +31,6 @@ #include #include -#include #include #include diff --git a/edslib/fsw/src/edslib_intfdb_api.c b/edslib/fsw/src/edslib_intfdb_api.c index 02224d5..5bd8f84 100644 --- a/edslib/fsw/src/edslib_intfdb_api.c +++ b/edslib/fsw/src/edslib_intfdb_api.c @@ -31,7 +31,6 @@ #include #include -#include #include #include diff --git a/edslib/fsw/src/edslib_intfdb_lookup.c b/edslib/fsw/src/edslib_intfdb_lookup.c index 17f90d8..5259a7e 100644 --- a/edslib/fsw/src/edslib_intfdb_lookup.c +++ b/edslib/fsw/src/edslib_intfdb_lookup.c @@ -31,7 +31,6 @@ #include #include -#include #include #include