Moved check for wild card Device Id to before call to rpm_ack_encode_apdu_object_begin so that the real Device ID is encoded in the response.
This commit is contained in:
@@ -126,11 +126,6 @@ static int RPM_Encode_Property(
|
||||
len = 0;
|
||||
rpdata.error_class = ERROR_CLASS_OBJECT;
|
||||
rpdata.error_code = ERROR_CODE_UNKNOWN_OBJECT;
|
||||
/* Test for case of indefinite Device object instance */
|
||||
if ((rpmdata->object_type == OBJECT_DEVICE) &&
|
||||
(rpmdata->object_instance == BACNET_MAX_INSTANCE)) {
|
||||
rpmdata->object_instance = Device_Object_Instance_Number();
|
||||
}
|
||||
rpdata.object_type = rpmdata->object_type;
|
||||
rpdata.object_instance = rpmdata->object_instance;
|
||||
rpdata.object_property = rpmdata->object_property;
|
||||
@@ -245,6 +240,12 @@ void handler_read_property_multiple(
|
||||
goto RPM_FAILURE;
|
||||
}
|
||||
|
||||
/* Test for case of indefinite Device object instance */
|
||||
if ((rpmdata.object_type == OBJECT_DEVICE) &&
|
||||
(rpmdata.object_instance == BACNET_MAX_INSTANCE)) {
|
||||
rpmdata.object_instance = Device_Object_Instance_Number();
|
||||
}
|
||||
|
||||
/* Stick this object id into the reply - if it will fit */
|
||||
len = rpm_ack_encode_apdu_object_begin(&Temp_Buf[0], &rpmdata);
|
||||
copy_len =
|
||||
|
||||
Reference in New Issue
Block a user