This patch adds support for two new format specifiers (%f and %d)
to print float and double data.
Generally it's not save to directly take native binary data of one machine and
print it on another one (since mosquitto is multiarch). But in case of floats
it's save to print representation of it, if __STDC_IEC_559__ is defined.
In C99 Annex F, standard we can read:
> This annex specifies C language support for the
> IEC 60559 floating-point standard.
> (...)
> An implementation that defines __STDC_IEC_559__
> shall conform to the specifications in this annex
All float printing code is behind __STDC_IEC_559__, so if that is not
defined, floating print will be disabled and error returned to user.
Documentation also describes restrictions about printing floats.
Signed-off-by: Michał Łyszczek <michal.lyszczek@bofc.pl>
next_msg_out must be protected with the msgtime_mutex
as done everywhere else in the code else there is a data race
e.g. if mosquitto_publish is called from another thread
Signed-off-by: Christian Salvasohn <csalvasohn@gmx.de>
* Addded missing files plugin_subscribe and plugin_unsubscribe to src/CMakeLists.txt
* Aligned mixed usage of all-keyword and all-plain in target_link_libra…ry definition in in CMakeLists.txt
Signed-off-by: Norbert Heusser <norbert.heusser@cedalo.com>
When mosquitto is included as subdirectory, `CMAKE_SOURCE_DIR` does not refer to the mosquitto top level CMake file, but to the whole project top level CMake.
Use `PROJECT_SOURCE_DIR` instead to refer to the right CMake in both contextes.
Signed-off-by: Pierre Hallot <hallotpierre@gmail.com>