Skip to content

Commit 38de324

Browse files
meyfa-lawoKimonHoffmann
authored andcommitted
Fix incorrect encodedLength for -0.0
Signed-off-by: Fabian Meyer <[email protected]>
1 parent e6d97fd commit 38de324

File tree

1 file changed

+5
-4
lines changed
  • libember/Headers/ember/ber/traits

1 file changed

+5
-4
lines changed

libember/Headers/ember/ber/traits/Real.hpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,10 +102,11 @@ namespace libember { namespace ber
102102

103103
static std::size_t encodedLength(value_type value)
104104
{
105-
if (value == +std::numeric_limits<value_type>::infinity()
106-
|| value == -std::numeric_limits<value_type>::infinity()
107-
|| value == std::numeric_limits<value_type>::quiet_NaN()
108-
|| value == std::numeric_limits<value_type>::signaling_NaN())
105+
if ((value == +std::numeric_limits<value_type>::infinity())
106+
|| (value == -std::numeric_limits<value_type>::infinity())
107+
|| (value == std::numeric_limits<value_type>::quiet_NaN())
108+
|| (value == std::numeric_limits<value_type>::signaling_NaN())
109+
|| ((value == static_cast<value_type>(0.0)) && util::signbit(value)))
109110
{
110111
return 1;
111112
}

0 commit comments

Comments
 (0)