From 113e072d2dd9c283a87191c970d2a62aaf824598 Mon Sep 17 00:00:00 2001 From: mabeh19 Date: Wed, 13 May 2026 18:39:31 -0400 Subject: [PATCH 1/2] edslib/fsw removed non stdc headers, added local helper for string comparison --- edslib/fsw/src/edslib_binding_objects.c | 4 -- edslib/fsw/src/edslib_database_ops.c | 1 - edslib/fsw/src/edslib_datatypedb_api.c | 1 - .../fsw/src/edslib_datatypedb_constraints.c | 1 - edslib/fsw/src/edslib_datatypedb_lookup.c | 1 - .../fsw/src/edslib_datatypedb_pack_unpack.c | 1 - edslib/fsw/src/edslib_displaydb_api.c | 1 - edslib/fsw/src/edslib_displaydb_iterator.c | 1 - edslib/fsw/src/edslib_displaydb_locate.c | 1 - edslib/fsw/src/edslib_displaydb_lookup.c | 1 - edslib/fsw/src/edslib_displaydb_stringconv.c | 53 +++++++++++++++++-- edslib/fsw/src/edslib_global_api.c | 1 - edslib/fsw/src/edslib_intfdb_api.c | 1 - edslib/fsw/src/edslib_intfdb_lookup.c | 1 - 14 files changed, 48 insertions(+), 21 deletions(-) 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..3b729a7 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; + int32_t Char1 = 0; + int32_t Char2 = 0; + + while (Result == 0) + { + if (String1[Index] == '\0' || String2[Index] == '\0') + { + Result = String1[Index] - String2[Index]; + break; + } + + Char1 = (int32_t)String1[Index]; + Char2 = (int32_t)String2[Index]; + + /* 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 From 530181c2bb0ff82cb9b5dd5a8c52aa6c91c30ddf Mon Sep 17 00:00:00 2001 From: mabeh19 Date: Thu, 14 May 2026 10:36:32 -0400 Subject: [PATCH 2/2] Changed int32_t to int, improved readability --- edslib/fsw/src/edslib_displaydb_stringconv.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/edslib/fsw/src/edslib_displaydb_stringconv.c b/edslib/fsw/src/edslib_displaydb_stringconv.c index 3b729a7..56404f6 100644 --- a/edslib/fsw/src/edslib_displaydb_stringconv.c +++ b/edslib/fsw/src/edslib_displaydb_stringconv.c @@ -49,20 +49,20 @@ static int32_t EdsLib_Internal_StringCompare_IgnoreCase(const char *String1, { uint32_t Index = 0U; int32_t Result = 0; - int32_t Char1 = 0; - int32_t Char2 = 0; + int Char1; + int Char2; while (Result == 0) { - if (String1[Index] == '\0' || String2[Index] == '\0') + Char1 = (int)String1[Index]; + Char2 = (int)String2[Index]; + + if (Char1 == '\0' || Char2 == '\0') { - Result = String1[Index] - String2[Index]; + Result = Char1 - Char2; break; } - Char1 = (int32_t)String1[Index]; - Char2 = (int32_t)String2[Index]; - /* Convert characters to lower case if they're alphabetical */ if (isalpha(Char1)) {