From 82ff127ff362af445f8a1995aeedeb46a0ae7307 Mon Sep 17 00:00:00 2001 From: skarg Date: Mon, 14 Jul 2008 14:18:11 +0000 Subject: [PATCH] Corrected the COV Subscription demo handler - every new subscription was getting index number 0 and overwriting the previous one. Thank you Janusz K.! --- bacnet-stack/demo/handler/h_cov.c | 33 ++++++++++++++++--------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/bacnet-stack/demo/handler/h_cov.c b/bacnet-stack/demo/handler/h_cov.c index 92701334..502e12e0 100644 --- a/bacnet-stack/demo/handler/h_cov.c +++ b/bacnet-stack/demo/handler/h_cov.c @@ -234,24 +234,25 @@ static bool cov_list_subscribe( /* existing? - match Object ID and Process ID */ for (index = 0; index < MAX_COV_SUBCRIPTIONS; index++) { - if ((COV_Subscriptions[index].valid) && - (COV_Subscriptions[index].monitoredObjectIdentifier.type == + if (COV_Subscriptions[index].valid) { + if ((COV_Subscriptions[index].monitoredObjectIdentifier.type == cov_data->monitoredObjectIdentifier.type) && - (COV_Subscriptions[index].monitoredObjectIdentifier.instance == - cov_data->monitoredObjectIdentifier.instance) && - (COV_Subscriptions[index].subscriberProcessIdentifier == - cov_data->subscriberProcessIdentifier)) { - existing_entry = true; - if (cov_data->cancellationRequest) { - COV_Subscriptions[index].valid = false; - } else { - bacnet_address_copy(&COV_Subscriptions[index].dest, src); - COV_Subscriptions[index].issueConfirmedNotifications = - cov_data->issueConfirmedNotifications; - COV_Subscriptions[index].lifetime = cov_data->lifetime; - COV_Subscriptions[index].send_requested = true; + (COV_Subscriptions[index].monitoredObjectIdentifier.instance == + cov_data->monitoredObjectIdentifier.instance) && + (COV_Subscriptions[index].subscriberProcessIdentifier == + cov_data->subscriberProcessIdentifier)) { + existing_entry = true; + if (cov_data->cancellationRequest) { + COV_Subscriptions[index].valid = false; + } else { + bacnet_address_copy(&COV_Subscriptions[index].dest, src); + COV_Subscriptions[index].issueConfirmedNotifications = + cov_data->issueConfirmedNotifications; + COV_Subscriptions[index].lifetime = cov_data->lifetime; + COV_Subscriptions[index].send_requested = true; + } + break; } - break; } else { if (first_invalid_index < 0) { first_invalid_index = index;