Feature/apdu null length returned (#285)

* Add APDU as NULL to get BACnet type lengths.

* Fix bacapp copy test to succeed

* fix BACnet REAL and DOUBLE decode

* Add unit test for NULL APDU encoding for length

* Add unit tests for bacapp context

* refactor host-n-port to hostnport.c module

* fix BVLC decoder

* additional unit testing for bacapp

* include bacdevobjpropref module in builds

* simplify bacapp snprintf to be able to return length

* adjust compiler for variable-length arrays

* fix bug found by scan-build

Authored-by: Steve Karg <skarg@users.sourceforge.net>
This commit is contained in:
Steve Karg
2022-06-01 15:42:50 -05:00
committed by GitHub
parent 810bfefb34
commit f147283293
76 changed files with 3474 additions and 2791 deletions
+25 -3
View File
@@ -129,8 +129,8 @@ const char *bactext_unconfirmed_service_name(unsigned index)
bacnet_unconfirmed_service_names, index, ASHRAE_Reserved_String);
}
INDTEXT_DATA bacnet_application_tag_names[] = { { BACNET_APPLICATION_TAG_NULL,
"Null" },
INDTEXT_DATA bacnet_application_tag_names[] = {
{ BACNET_APPLICATION_TAG_NULL, "Null" },
{ BACNET_APPLICATION_TAG_BOOLEAN, "Boolean" },
{ BACNET_APPLICATION_TAG_UNSIGNED_INT, "Unsigned Int" },
{ BACNET_APPLICATION_TAG_SIGNED_INT, "Signed Int" },
@@ -145,7 +145,29 @@ INDTEXT_DATA bacnet_application_tag_names[] = { { BACNET_APPLICATION_TAG_NULL,
{ BACNET_APPLICATION_TAG_OBJECT_ID, "Object ID" },
{ BACNET_APPLICATION_TAG_RESERVE1, "Reserved 1" },
{ BACNET_APPLICATION_TAG_RESERVE2, "Reserved 2" },
{ BACNET_APPLICATION_TAG_RESERVE3, "Reserved 3" }, { 0, NULL } };
{ BACNET_APPLICATION_TAG_RESERVE3, "Reserved 3" },
/* complex data types */
{ BACNET_APPLICATION_TAG_EMPTYLIST, "Empty List" },
{ BACNET_APPLICATION_TAG_WEEKNDAY, "BACnetWeeknday" },
{ BACNET_APPLICATION_TAG_DATERANGE, "BACnetDateRange" },
{ BACNET_APPLICATION_TAG_DATETIME, "BACnetDateTime" },
{ BACNET_APPLICATION_TAG_TIMESTAMP, "BACnetTimeStamp" },
{ BACNET_APPLICATION_TAG_ERROR, "Error" },
{ BACNET_APPLICATION_TAG_DEVICE_OBJECT_PROPERTY_REFERENCE,
"BACnetDeviceObjectPropertyReference" },
{ BACNET_APPLICATION_TAG_DEVICE_OBJECT_REFERENCE,
"BACnetDeviceObjectReference" },
{ BACNET_APPLICATION_TAG_DESTINATION, "BACnetDestination" },
{ BACNET_APPLICATION_TAG_RECIPIENT, "BACnetRecipient" },
{ BACNET_APPLICATION_TAG_COV_SUBSCRIPTION, "BACnetCOVSubscription" },
{ BACNET_APPLICATION_TAG_CALENDAR_ENTRY, "BACnetCalendarEntry" },
{ BACNET_APPLICATION_TAG_WEEKLY_SCHEDULE, "BACnetWeeklySchedule" },
{ BACNET_APPLICATION_TAG_SPECIAL_EVENT, "BACnetSpecialEvent" },
{ BACNET_APPLICATION_TAG_READ_ACCESS_SPECIFICATION,
"BACnetReadAccessSpecification" },
{ BACNET_APPLICATION_TAG_LIGHTING_COMMAND, "BACnetLightingCommand" },
{ BACNET_APPLICATION_TAG_HOST_N_PORT, "BACnetHostNPort" },
{ 0, NULL } };
const char *bactext_application_tag_name(unsigned index)
{