BlackZork / mqmgateway

MQTT gateway for modbus networks
GNU Affero General Public License v3.0
44 stars 20 forks source link

Map keys >= 0x8000 produce an error #62

Closed fencepost-error closed 2 months ago

fencepost-error commented 2 months ago

When using maps, keys over 0x7FFF, so still 16 bits but possibly being treated as signed values, are rejected. The following map:

converter: std.map( '{ 0:"follow DI1", 1:"follow DI2", 32768:"follow AI1", 32769:"follow AI2" }' )

produces:

modmqttd[2535052]: [CRITICAL] config error(line 899): Conversion failed, value 32768 out of range
modmqttd[2535052]: terminate called after throwing an instance of 'boost::wrapexcept<boost::exception_detail::error_info_injector<boost::log::v2_mt_posix::system_error> >'
BlackZork commented 2 months ago

Fixed in f2d6f76 (upcoming 2.8.1)