Elektron SDK 1.2.0 rsslNumericStringToReal() regression

I have been running some tests with the Elektron SDK v1.1.1 and v1.2.0 and
identified a difference in the behaviour between the two - very likely a
regression.

The problem occurs while using just the ETA library (aka. librssl.lib) and the
following functions:
* rsslRealToString()
* rsslNumericStringToReal()

The basis of my test is as follows:
1. Create an RsslReal type and initialise it with a value.
2. Convert the value to a string using rsslRealToString().
3. Convert the string back into a RsslReal using rsslNumericStringToReal().
4. Verify the initial RsslReal value equals the newly converted value.

My input data for the test was:
RsslReal rssl_real;
rssl_real.isBlank = false;
rssl_real.hint = RSSL_RH_EXPONENT7;
rssl_real.value = std::numeric_limits<RsslInt>::max(); // 9223372036854775807

Running this test against Elektron SDK v1.1.1 shows the value to be converted
successfully.

Running this test against Elektron SDK v1.2.0 shows rsslNumericStringToReal()
fails with the error code RSSL_RET_INVALID_DATA.

Could you confirm/explain the difference in behaviour.

Best Answer

Answers