From 11e1c80e3803046ff0345e0782aa47e5acb05c9e Mon Sep 17 00:00:00 2001 From: skarg Date: Tue, 15 Dec 2009 21:51:57 +0000 Subject: [PATCH] Corrected private transfer encoding. --- bacnet-stack/src/ptransfer.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bacnet-stack/src/ptransfer.c b/bacnet-stack/src/ptransfer.c index 1b36ac35..166f2037 100644 --- a/bacnet-stack/src/ptransfer.c +++ b/bacnet-stack/src/ptransfer.c @@ -80,6 +80,7 @@ int ptransfer_encode_apdu( BACNET_PRIVATE_TRANSFER_DATA * private_data) { int apdu_len = 0; /* total length of the apdu, return value */ + int len = 0; if (apdu) { apdu[0] = PDU_TYPE_CONFIRMED_SERVICE_REQUEST; @@ -87,8 +88,9 @@ int ptransfer_encode_apdu( apdu[2] = invoke_id; apdu[3] = SERVICE_CONFIRMED_PRIVATE_TRANSFER; apdu_len = 4; - apdu_len = + len = pt_encode_apdu(&apdu[apdu_len], (uint16_t)(MAX_APDU - apdu_len), private_data); + apdu_len += len; } return apdu_len; @@ -99,13 +101,15 @@ int uptransfer_encode_apdu( BACNET_PRIVATE_TRANSFER_DATA * private_data) { int apdu_len = 0; /* total length of the apdu, return value */ + int len = 0; if (apdu) { apdu[0] = PDU_TYPE_UNCONFIRMED_SERVICE_REQUEST; apdu[1] = SERVICE_UNCONFIRMED_PRIVATE_TRANSFER; apdu_len = 2; - apdu_len = + len = pt_encode_apdu(&apdu[apdu_len], (uint16_t)(MAX_APDU - apdu_len), private_data); + apdu_len += len; } return apdu_len;