From 7906dc854a4a1cbe12989efadb44466abc26847f Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 23 Oct 2024 15:35:21 +0200 Subject: [PATCH] json: improve infinite checks Avoid compiler errors like this: /usr/include/spa-0.2/spa/utils/json-core.h:417:25: error: comparing floating-point with '==' or '!=' is unsafe [-Werror=float-equal] | 417 | if (val == INFINITY) | | ^~ --- spa/include/spa/utils/json-core.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/spa/include/spa/utils/json-core.h b/spa/include/spa/utils/json-core.h index befc2be5c..cc2d4945d 100644 --- a/spa/include/spa/utils/json-core.h +++ b/spa/include/spa/utils/json-core.h @@ -414,10 +414,8 @@ static inline bool spa_json_is_float(const char *val, int len) static inline char *spa_json_format_float(char *str, int size, float val) { if (SPA_UNLIKELY(!isnormal(val))) { - if (val == INFINITY) - val = FLT_MAX; - else if (val == -INFINITY) - val = FLT_MIN; + if (isinf(val)) + val = signbit(val) ? FLT_MIN : FLT_MAX; else val = 0.0f; }