Corrected the COV Subscription demo handler - every new subscription was getting index number 0

and overwriting the previous one.  Thank you Janusz K.!
This commit is contained in:
skarg
2008-07-14 14:18:11 +00:00
parent cae6cceea7
commit 82ff127ff3
+17 -16
View File
@@ -234,24 +234,25 @@ static bool cov_list_subscribe(
/* existing? - match Object ID and Process ID */ /* existing? - match Object ID and Process ID */
for (index = 0; index < MAX_COV_SUBCRIPTIONS; index++) { for (index = 0; index < MAX_COV_SUBCRIPTIONS; index++) {
if ((COV_Subscriptions[index].valid) && if (COV_Subscriptions[index].valid) {
(COV_Subscriptions[index].monitoredObjectIdentifier.type == if ((COV_Subscriptions[index].monitoredObjectIdentifier.type ==
cov_data->monitoredObjectIdentifier.type) && cov_data->monitoredObjectIdentifier.type) &&
(COV_Subscriptions[index].monitoredObjectIdentifier.instance == (COV_Subscriptions[index].monitoredObjectIdentifier.instance ==
cov_data->monitoredObjectIdentifier.instance) && cov_data->monitoredObjectIdentifier.instance) &&
(COV_Subscriptions[index].subscriberProcessIdentifier == (COV_Subscriptions[index].subscriberProcessIdentifier ==
cov_data->subscriberProcessIdentifier)) { cov_data->subscriberProcessIdentifier)) {
existing_entry = true; existing_entry = true;
if (cov_data->cancellationRequest) { if (cov_data->cancellationRequest) {
COV_Subscriptions[index].valid = false; COV_Subscriptions[index].valid = false;
} else { } else {
bacnet_address_copy(&COV_Subscriptions[index].dest, src); bacnet_address_copy(&COV_Subscriptions[index].dest, src);
COV_Subscriptions[index].issueConfirmedNotifications = COV_Subscriptions[index].issueConfirmedNotifications =
cov_data->issueConfirmedNotifications; cov_data->issueConfirmedNotifications;
COV_Subscriptions[index].lifetime = cov_data->lifetime; COV_Subscriptions[index].lifetime = cov_data->lifetime;
COV_Subscriptions[index].send_requested = true; COV_Subscriptions[index].send_requested = true;
}
break;
} }
break;
} else { } else {
if (first_invalid_index < 0) { if (first_invalid_index < 0) {
first_invalid_index = index; first_invalid_index = index;