Removed wildcard match for Device Instance since it is only done for ReadProperty and ReadPropertyMultiple services, and the match is done by substitution in those service handlers.

This commit is contained in:
skarg
2012-07-09 21:52:19 +00:00
parent 7578b4ef06
commit b6b852ef08
11 changed files with 18 additions and 25 deletions
+1 -2
View File
@@ -91,8 +91,7 @@ bool Device_Valid_Object_Instance_Number(
uint32_t object_id)
{
/* BACnet allows for a wildcard instance number */
return ((Object_Instance_Number == object_id) ||
(object_id == BACNET_MAX_INSTANCE));
return (Object_Instance_Number == object_id);
}
uint16_t Device_Vendor_Identifier(
+4
View File
@@ -54,6 +54,10 @@ int Encode_Property_APDU(
/* handle each object type */
switch (rp_data->object_type) {
case OBJECT_DEVICE:
/* Test for case of indefinite Device object instance */
if (rp_data->object_instance == BACNET_MAX_INSTANCE) {
rp_data->object_instance = Device_Object_Instance_Number();
}
if (Device_Valid_Object_Instance_Number(rp_data->object_instance)) {
apdu_len =
Device_Encode_Property_APDU(&apdu[0],