From 576cac784e715b4d5257648c62a24c6e985e04c1 Mon Sep 17 00:00:00 2001 From: Steve Karg Date: Tue, 10 Feb 2026 14:05:50 -0600 Subject: [PATCH] Fixed compile warning in bacnet_strtof() from double fabs() to float FLT_MAX by using same pattern as Channel and Timer objects for float range validation. --- src/bacnet/bacstr.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/bacnet/bacstr.c b/src/bacnet/bacstr.c index 74518dda..cae429f2 100644 --- a/src/bacnet/bacstr.c +++ b/src/bacnet/bacstr.c @@ -1572,10 +1572,10 @@ bool bacnet_strtol(const char *str, long *long_value) bool bacnet_strtof(const char *str, float *float_value) { char *endptr; - double value; + double double_value; errno = 0; - value = strtod(str, &endptr); + double_value = strtod(str, &endptr); if (endptr == str) { /* No digits found */ return false; @@ -1589,15 +1589,15 @@ bool bacnet_strtof(const char *str, float *float_value) /* Extra text found */ return false; } - if (fabs(value) > FLT_MAX) { - /* Value exceeds float range */ - return false; - } - if (float_value) { - *float_value = (float)value; + if (isgreaterequal(double_value, -FLT_MAX) && + islessequal(double_value, FLT_MAX)) { + if (float_value) { + *float_value = (float)double_value; + } + return true; } - return true; + return false; } /**