Also added possibility for RMP of encoding large items in-line in the response packet so that the object RP handlers know how much space they really have without the need for a full APDU buffer being maintained.
Added Multi-state Value object example and unit tests, and added to demo/server example application.
Fixed Analog Input object, Analog Output object, Analog Value object, Device object, Multi-state Input object, Multi-state Output object examples to return correct error codes for WriteProperty service (per BACnet 135.1-2009-9.22.2.6).
Fixed top level ReadProperty and WriteProperty handlers in Device object to return correct error codes (per BACnet 135.1-2009-9.22.2.5)
* Updated the perl bindings readme.txt
* Fixed a small bug in the new bacapp_print_value() function which incorrectly interpreted the return status from the snprintf function.
an extract() function. The original implementation used calloc() inside the
extract() routine which forced all clients, including embedded builds, to have a
heap. This was very heavy handed. The new solution is must more flexible.
* If the client want to use the print() functionality, they will have to support
calloc and string safe variable argument length function similar to snprintf.
This seems reasonable because if you can print, then you can typically support
these complex capabilities.
* For clients that don't want to print, but still want to parse the bacpp value
into a string, they can use the new extract() method, which only requires
supports for snprintf. This would require a compile time definition of
BACAPP_SNPRINTF_ENABLED.
* For clients which don't want the overhead of these heavy handed methods, it is
possible to set compile time flags to not inherit either the print() or the
extract() functions.
Put command line argument checking and usage printing into their own functions,
and added an optional argument to show values instead of '?' for properties like Present_Value.
Added screening of properties that should normally be replaced with '?' on output.
Added a few enums to bactext (Node_Type, Polarity).
Added new bacapp_decode_application_data_safe function and other *_safe functions that aim to prevent buffer overruns if encoded application message is malformed.
Note: bacstr unit tests currently have one failure.