From 04e99f36713d81442b4b56d5933af961124b58ab Mon Sep 17 00:00:00 2001 From: petermcs Date: Fri, 14 May 2010 14:21:48 +0000 Subject: [PATCH] Changes to reduce the number of warnings with Visual C++2008 warning level 4 to a minimum. --- bacnet-stack/demo/handler/dlenv.c | 8 ++-- bacnet-stack/demo/handler/h_rpm.c | 14 +++---- bacnet-stack/demo/handler/s_arfs.c | 2 +- bacnet-stack/demo/handler/s_awfs.c | 2 +- bacnet-stack/demo/handler/s_dcc.c | 2 +- bacnet-stack/demo/handler/s_ptransfer.c | 2 +- bacnet-stack/demo/handler/s_rd.c | 2 +- bacnet-stack/demo/handler/s_router.c | 4 +- bacnet-stack/demo/object/bacfile.c | 2 +- bacnet-stack/demo/object/device.c | 3 +- bacnet-stack/demo/object/lo.c | 2 + bacnet-stack/demo/object/ms-input.c | 2 +- bacnet-stack/demo/object/trendlog.c | 52 ++++++++++--------------- bacnet-stack/include/bacdef.h | 8 +++- bacnet-stack/include/config.h | 2 +- bacnet-stack/ports/win32/dlmstp.c | 11 +++--- bacnet-stack/ports/win32/rs485.c | 3 +- bacnet-stack/src/address.c | 4 +- bacnet-stack/src/apdu.c | 17 ++++---- bacnet-stack/src/bacapp.c | 30 +++++++------- bacnet-stack/src/bvlc.c | 34 ++++++++-------- bacnet-stack/src/cov.c | 2 +- bacnet-stack/src/mstp.c | 4 +- bacnet-stack/src/ptransfer.c | 4 +- bacnet-stack/src/tsm.c | 6 +-- 25 files changed, 111 insertions(+), 111 deletions(-) diff --git a/bacnet-stack/demo/handler/dlenv.c b/bacnet-stack/demo/handler/dlenv.c index c4cfe6ce..aef24691 100644 --- a/bacnet-stack/demo/handler/dlenv.c +++ b/bacnet-stack/demo/handler/dlenv.c @@ -90,7 +90,7 @@ void dlenv_init( #endif pEnv = getenv("BACNET_IP_PORT"); if (pEnv) { - bip_set_port(strtol(pEnv, NULL, 0)); + bip_set_port((uint16_t)strtol(pEnv, NULL, 0)); } else { bip_set_port(0xBAC0); } @@ -122,7 +122,7 @@ void dlenv_init( #endif pEnv = getenv("BACNET_APDU_TIMEOUT"); if (pEnv) { - apdu_timeout_set(strtol(pEnv, NULL, 0)); + apdu_timeout_set((uint16_t)strtol(pEnv, NULL, 0)); fprintf(stderr, "BACNET_APDU_TIMEOUT=%s\r\n", pEnv); } else { #if defined(BACDL_MSTP) @@ -160,8 +160,8 @@ void dlenv_init( fprintf(stderr, "Registering with BBMD at %s:%ld for %ld seconds\n", inet_ntoa(addr), bbmd_port, bbmd_timetolive_seconds); - bvlc_register_with_bbmd(bbmd_address, bbmd_port, - bbmd_timetolive_seconds); + bvlc_register_with_bbmd(bbmd_address, (uint16_t)bbmd_port, + (uint16_t)bbmd_timetolive_seconds); } } #endif diff --git a/bacnet-stack/demo/handler/h_rpm.c b/bacnet-stack/demo/handler/h_rpm.c index aae31378..6fea3a73 100644 --- a/bacnet-stack/demo/handler/h_rpm.c +++ b/bacnet-stack/demo/handler/h_rpm.c @@ -222,7 +222,7 @@ void handler_read_property_multiple( apdu_len = rpm_ack_encode_apdu_init(&Handler_Transmit_Buffer[npdu_len], service_data->invoke_id); - do { + for(;;) { len = rpm_decode_object_id(&service_request[decode_len], service_len - decode_len, &object_type, &object_instance); @@ -272,7 +272,7 @@ void handler_read_property_multiple( apdu_len += copy_len; } /* do each property of this object of the RPM request */ - do { + for(;;) { len = rpm_decode_object_property(&service_request[decode_len], service_len - decode_len, &object_property, &array_index); @@ -326,7 +326,7 @@ void handler_read_property_multiple( /* handle the error code - but use the special property */ len = RPM_Encode_Property(&Handler_Transmit_Buffer[0], - npdu_len + apdu_len, MAX_APDU, object_type, + (uint16_t)(npdu_len + apdu_len), MAX_APDU, object_type, object_instance, object_property, array_index); if (len > 0) { apdu_len += len; @@ -344,7 +344,7 @@ void handler_read_property_multiple( special_object_property, index); len = RPM_Encode_Property(&Handler_Transmit_Buffer[0], - npdu_len + apdu_len, MAX_APDU, object_type, + (uint16_t)(npdu_len + apdu_len), MAX_APDU, object_type, object_instance, object_property, array_index); if (len > 0) { apdu_len += len; @@ -361,7 +361,7 @@ void handler_read_property_multiple( /* handle an individual property */ len = RPM_Encode_Property(&Handler_Transmit_Buffer[0], - npdu_len + apdu_len, sizeof(Handler_Transmit_Buffer), + (uint16_t)(npdu_len + apdu_len), sizeof(Handler_Transmit_Buffer), object_type, object_instance, object_property, array_index); if (len > 0) { @@ -374,11 +374,11 @@ void handler_read_property_multiple( goto RPM_ABORT; } } - } while (1); + } if (decode_len >= service_len) { break; } - } while (1); + } if (apdu_len > service_data->max_resp) { /* too big for the sender - send an abort */ apdu_len = diff --git a/bacnet-stack/demo/handler/s_arfs.c b/bacnet-stack/demo/handler/s_arfs.c index 7bc6071e..315f2059 100644 --- a/bacnet-stack/demo/handler/s_arfs.c +++ b/bacnet-stack/demo/handler/s_arfs.c @@ -95,7 +95,7 @@ uint8_t Send_Atomic_Read_File_Stream( max_apdu in the address binding table. */ if ((unsigned) pdu_len < max_apdu) { tsm_set_confirmed_unsegmented_transaction(invoke_id, &dest, - &npdu_data, &Handler_Transmit_Buffer[0], pdu_len); + &npdu_data, &Handler_Transmit_Buffer[0], (uint16_t)pdu_len); bytes_sent = datalink_send_pdu(&dest, &npdu_data, &Handler_Transmit_Buffer[0], pdu_len); diff --git a/bacnet-stack/demo/handler/s_awfs.c b/bacnet-stack/demo/handler/s_awfs.c index 05bc5cee..346b5a5c 100644 --- a/bacnet-stack/demo/handler/s_awfs.c +++ b/bacnet-stack/demo/handler/s_awfs.c @@ -97,7 +97,7 @@ uint8_t Send_Atomic_Write_File_Stream( max_apdu in the address binding table. */ if ((unsigned) pdu_len <= max_apdu) { tsm_set_confirmed_unsegmented_transaction(invoke_id, &dest, - &npdu_data, &Handler_Transmit_Buffer[0], pdu_len); + &npdu_data, &Handler_Transmit_Buffer[0], (uint16_t)pdu_len); bytes_sent = datalink_send_pdu(&dest, &npdu_data, &Handler_Transmit_Buffer[0], pdu_len); diff --git a/bacnet-stack/demo/handler/s_dcc.c b/bacnet-stack/demo/handler/s_dcc.c index 47118cc8..85953c67 100644 --- a/bacnet-stack/demo/handler/s_dcc.c +++ b/bacnet-stack/demo/handler/s_dcc.c @@ -101,7 +101,7 @@ uint8_t Send_Device_Communication_Control_Request( max_apdu in the address binding table. */ if ((unsigned) pdu_len < max_apdu) { tsm_set_confirmed_unsegmented_transaction(invoke_id, &dest, - &npdu_data, &Handler_Transmit_Buffer[0], pdu_len); + &npdu_data, &Handler_Transmit_Buffer[0], (uint16_t)pdu_len); bytes_sent = datalink_send_pdu(&dest, &npdu_data, &Handler_Transmit_Buffer[0], pdu_len); diff --git a/bacnet-stack/demo/handler/s_ptransfer.c b/bacnet-stack/demo/handler/s_ptransfer.c index 9fd2486a..f076ec05 100644 --- a/bacnet-stack/demo/handler/s_ptransfer.c +++ b/bacnet-stack/demo/handler/s_ptransfer.c @@ -118,7 +118,7 @@ uint8_t Send_Private_Transfer_Request( if ((unsigned) pdu_len < max_apdu) { tsm_set_confirmed_unsegmented_transaction(invoke_id, &dest, - &npdu_data, &Handler_Transmit_Buffer[0], pdu_len); + &npdu_data, &Handler_Transmit_Buffer[0], (uint16_t)pdu_len); bytes_sent = datalink_send_pdu(&dest, &npdu_data, &Handler_Transmit_Buffer[0], pdu_len); diff --git a/bacnet-stack/demo/handler/s_rd.c b/bacnet-stack/demo/handler/s_rd.c index 42a5ff04..384f0ccf 100644 --- a/bacnet-stack/demo/handler/s_rd.c +++ b/bacnet-stack/demo/handler/s_rd.c @@ -98,7 +98,7 @@ uint8_t Send_Reinitialize_Device_Request( max_apdu in the address binding table. */ if ((unsigned) pdu_len < max_apdu) { tsm_set_confirmed_unsegmented_transaction(invoke_id, &dest, - &npdu_data, &Handler_Transmit_Buffer[0], pdu_len); + &npdu_data, &Handler_Transmit_Buffer[0], (uint16_t)pdu_len); bytes_sent = datalink_send_pdu(&dest, &npdu_data, &Handler_Transmit_Buffer[0], pdu_len); diff --git a/bacnet-stack/demo/handler/s_router.c b/bacnet-stack/demo/handler/s_router.c index 7dd91838..6c46651f 100644 --- a/bacnet-stack/demo/handler/s_router.c +++ b/bacnet-stack/demo/handler/s_router.c @@ -78,7 +78,7 @@ void Send_Who_Is_Router_To_Network( npdu_encode_pdu(&Handler_Transmit_Buffer[0], NULL, NULL, &npdu_data); /* encode the optional DNET portion of the packet */ if (dnet >= 0) { - len = encode_unsigned16(&Handler_Transmit_Buffer[pdu_len], dnet); + len = encode_unsigned16(&Handler_Transmit_Buffer[pdu_len], (uint16_t)dnet); pdu_len += len; #if PRINT_ENABLED fprintf(stderr, "Send Who-Is-Router-To-Network message to %u\n", dnet); @@ -122,7 +122,7 @@ void Send_I_Am_Router_To_Network( fprintf(stderr, "Send I-Am-Router-To-Network message to:\n"); #endif while (DNET_list[index] != -1) { - dnet = DNET_list[index]; + dnet = (uint16_t)DNET_list[index]; len = encode_unsigned16(&Handler_Transmit_Buffer[pdu_len], dnet); pdu_len += len; index++; diff --git a/bacnet-stack/demo/object/bacfile.c b/bacnet-stack/demo/object/bacfile.c index 715de069..d94705ab 100644 --- a/bacnet-stack/demo/object/bacfile.c +++ b/bacnet-stack/demo/object/bacfile.c @@ -369,7 +369,7 @@ uint32_t bacfile_instance_from_tsm( BACNET_ADDRESS dest; /* where the original packet was destined */ uint8_t apdu[MAX_PDU] = { 0 }; /* original APDU packet */ uint16_t apdu_len = 0; /* original APDU packet length */ - uint16_t len = 0; /* apdu header length */ + int len = 0; /* apdu header length */ BACNET_ATOMIC_READ_FILE_DATA data = { 0 }; uint32_t object_instance = BACNET_MAX_INSTANCE + 1; /* return value */ bool found = false; diff --git a/bacnet-stack/demo/object/device.c b/bacnet-stack/demo/object/device.c index 66978416..b08bdf37 100644 --- a/bacnet-stack/demo/object/device.c +++ b/bacnet-stack/demo/object/device.c @@ -448,6 +448,7 @@ unsigned Device_Count( uint32_t Device_Index_To_Instance( unsigned index) { + index = index; return Object_Instance_Number; } @@ -808,7 +809,7 @@ bool Device_Object_List_Identifier( * look for the index to instance to get the ID */ if (pObject->Object_Iterator) { /* First find the first object */ - temp_index = pObject->Object_Iterator(~0); + temp_index = pObject->Object_Iterator(~(unsigned)0); /* Then step through the objects to find the nth */ while (object_index != 0) { temp_index = pObject->Object_Iterator(temp_index); diff --git a/bacnet-stack/demo/object/lo.c b/bacnet-stack/demo/object/lo.c index a7d1fbff..7fa94995 100644 --- a/bacnet-stack/demo/object/lo.c +++ b/bacnet-stack/demo/object/lo.c @@ -141,6 +141,8 @@ int Lighting_Output_Decode_Lighting_Command( uint32_t len_value_type = 0; float real_value = 0.0; + apdu_max_len = apdu_max_len; + /* check for value pointers */ if (apdu_len && data) { /* Tag 0: operation */ diff --git a/bacnet-stack/demo/object/ms-input.c b/bacnet-stack/demo/object/ms-input.c index ae88c639..1ace0668 100644 --- a/bacnet-stack/demo/object/ms-input.c +++ b/bacnet-stack/demo/object/ms-input.c @@ -174,7 +174,7 @@ bool Multistate_Input_Present_Value_Set( index = Multistate_Input_Instance_To_Index(object_instance); if (index < MAX_MULTISTATE_INPUTS) { if (value < MULTISTATE_NUMBER_OF_STATES) { - Present_Value[index] = value; + Present_Value[index] = (uint8_t)value; status = true; } } diff --git a/bacnet-stack/demo/object/trendlog.c b/bacnet-stack/demo/object/trendlog.c index 53081e2e..08ca9c9b 100644 --- a/bacnet-stack/demo/object/trendlog.c +++ b/bacnet-stack/demo/object/trendlog.c @@ -1043,20 +1043,20 @@ void TL_Local_Time_To_BAC( struct tm *TempTime; TempTime = localtime(&SourceTime); - - DestTime->date.year = TempTime->tm_year + 1900; - DestTime->date.month = TempTime->tm_mon + 1; - DestTime->date.day = TempTime->tm_mday; + + DestTime->date.year = (uint16_t)(TempTime->tm_year + 1900); + DestTime->date.month = (uint8_t)(TempTime->tm_mon + 1); + DestTime->date.day = (uint8_t)TempTime->tm_mday; /* BACnet is 1 to 7 = Monday to Sunday * Windows is days from Sunday 0 - 6 so we * have to adjust */ if (TempTime->tm_wday == 0) DestTime->date.wday = 7; else - DestTime->date.wday = TempTime->tm_wday; - DestTime->time.hour = TempTime->tm_hour; - DestTime->time.min = TempTime->tm_min; - DestTime->time.sec = TempTime->tm_sec; + DestTime->date.wday = (uint8_t)TempTime->tm_wday; + DestTime->time.hour = (uint8_t)TempTime->tm_hour; + DestTime->time.min = (uint8_t)TempTime->tm_min; + DestTime->time.sec = (uint8_t)TempTime->tm_sec; DestTime->time.hundredths = 0; } @@ -1489,7 +1489,7 @@ int TL_encode_entry( int iLen = 0; TL_DATA_REC *pSource = NULL; BACNET_BIT_STRING TempBits; - int iCount = 0; + uint8_t ucCount = 0; BACNET_DATE_TIME TempTime; /* Convert from BACnet 1 based to 0 based array index and then @@ -1555,16 +1555,11 @@ int TL_encode_entry( * have limited to 32 bits maximum as allowed by the standard */ bitstring_init(&TempBits); - bitstring_set_bits_used(&TempBits, - (pSource->Datum.Bits.ucLen >> 4) & 0x0F, - pSource->Datum.Bits.ucLen & 0x0F); - for (iCount = pSource->Datum.Bits.ucLen >> 4; iCount > 0; iCount--) - bitstring_set_octet(&TempBits, iCount - 1, - pSource->Datum.Bits.ucStore[iCount - 1]); - - iLen += - encode_context_bitstring(&apdu[iLen], pSource->ucRecType, - &TempBits); + bitstring_set_bits_used(&TempBits, (pSource->Datum.Bits.ucLen >> 4) & 0x0F, pSource->Datum.Bits.ucLen & 0x0F); + for(ucCount = pSource->Datum.Bits.ucLen >> 4; ucCount > 0; ucCount--) + bitstring_set_octet(&TempBits, ucCount - 1, pSource->Datum.Bits.ucStore[ucCount-1]); + + iLen += encode_context_bitstring(&apdu[iLen], pSource->ucRecType, &TempBits); break; case TL_TYPE_NULL: @@ -1631,7 +1626,8 @@ static int local_read_property( *error_code = rpdata.error_code; } } - if ((len >= 0) && (status != NULL)) { + + if((len >= 0) && (status != NULL)){ /* Fetch the status flags if required */ rpdata.application_data = status; rpdata.application_data_len = MAX_APDU; @@ -1642,9 +1638,6 @@ static int local_read_property( *error_class = rpdata.error_class; *error_code = rpdata.error_code; } - } else { - *error_class = rpdata.error_class; - *error_code = rpdata.error_code; } return (len); @@ -1662,7 +1655,7 @@ void TL_fetch_property( BACNET_ERROR_CLASS error_class; BACNET_ERROR_CODE error_code; int iLen; - int iCount; + uint8_t ucCount; TL_LOG_INFO *CurrentLog; TL_DATA_REC TempRec; uint8_t tag_number = 0; @@ -1729,16 +1722,13 @@ void TL_fetch_property( TempRec.Datum.Bits.ucLen |= (8 - (bitstring_bits_used(&TempBits) % 8)) & 7; /* Fetch the octets with the bits directly */ - for (iCount = 0; iCount < bitstring_bytes_used(&TempBits); - iCount++) - TempRec.Datum.Bits.ucStore[iCount] = - bitstring_octet(&TempBits, iCount); + for(ucCount = 0; ucCount < bitstring_bytes_used(&TempBits); ucCount++) + TempRec.Datum.Bits.ucStore[ucCount] = bitstring_octet(&TempBits, ucCount); } else { /* We will only use the first 4 octets to save space */ TempRec.Datum.Bits.ucLen = 4 << 4; - for (iCount = 0; iCount < 4; iCount++) - TempRec.Datum.Bits.ucStore[iCount] = - bitstring_octet(&TempBits, iCount); + for(ucCount = 0; ucCount < 4; ucCount++) + TempRec.Datum.Bits.ucStore[ucCount] = bitstring_octet(&TempBits, ucCount); } break; diff --git a/bacnet-stack/include/bacdef.h b/bacnet-stack/include/bacdef.h index e41b8956..da6e62a5 100644 --- a/bacnet-stack/include/bacdef.h +++ b/bacnet-stack/include/bacdef.h @@ -39,6 +39,12 @@ #include "bacenum.h" #include "config.h" +#if defined(_MSC_VER) +// Silence the warnings about unsafe versions of library functions +// as we need to keep the code portable +#pragma warning( disable : 4996) +#endif + /* This stack implements this version of BACnet */ #define BACNET_PROTOCOL_VERSION 1 #define BACNET_PROTOCOL_REVISION 5 @@ -50,7 +56,7 @@ /* large BACnet Object Type */ #define BACNET_MAX_OBJECT (0x3FF) /* Array index 0=size of array, n=array element n, MAX=all array elements */ -#define BACNET_ARRAY_ALL (~0) +#define BACNET_ARRAY_ALL (~(unsigned int)0) /* Priority Array for commandable objects */ #define BACNET_NO_PRIORITY 0 #define BACNET_MIN_PRIORITY 1 diff --git a/bacnet-stack/include/config.h b/bacnet-stack/include/config.h index 130e2bde..1c930d57 100644 --- a/bacnet-stack/include/config.h +++ b/bacnet-stack/include/config.h @@ -97,7 +97,7 @@ /* some modules have debugging enabled using PRINT_ENABLED */ #if !defined(PRINT_ENABLED) -#define PRINT_ENABLED 0 +#define PRINT_ENABLED 1 #endif /* BACAPP decodes WriteProperty service requests diff --git a/bacnet-stack/ports/win32/dlmstp.c b/bacnet-stack/ports/win32/dlmstp.c index c465af44..30e02fc5 100644 --- a/bacnet-stack/ports/win32/dlmstp.c +++ b/bacnet-stack/ports/win32/dlmstp.c @@ -28,6 +28,7 @@ #include #include #include +#include #include "bacdef.h" #include "bacaddr.h" #include "mstp.h" @@ -125,7 +126,7 @@ int dlmstp_send_pdu( Transmit_Packet.frame_type = FRAME_TYPE_BACNET_DATA_NOT_EXPECTING_REPLY; } - Transmit_Packet.pdu_len = pdu_len; + Transmit_Packet.pdu_len = (uint16_t)pdu_len; for (i = 0; i < pdu_len; i++) { Transmit_Packet.pdu[i] = pdu[i]; } @@ -179,7 +180,7 @@ static void dlmstp_receive_fsm_task( (void) pArg; (void) SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL); - while (TRUE) { + for(;;) { /* only do receive state machine while we don't have a frame */ if ((MSTP_Port.ReceivedValidFrame == false) && (MSTP_Port.ReceivedInvalidFrame == false)) { @@ -205,7 +206,7 @@ static void dlmstp_master_fsm_task( (void) pArg; (void) SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL); - while (TRUE) { + for(;;) { switch (MSTP_Port.master_state) { case MSTP_MASTER_STATE_IDLE: dwMilliseconds = Tno_token; @@ -348,7 +349,7 @@ bool dlmstp_compare_data_expecting_reply( request.address.mac[0] = src_address; request.address.mac_len = 1; offset = - npdu_decode(&request_pdu[0], NULL, &request.address, + (uint16_t)npdu_decode(&request_pdu[0], NULL, &request.address, &request.npdu_data); if (request.npdu_data.network_layer_message) { return false; @@ -366,7 +367,7 @@ bool dlmstp_compare_data_expecting_reply( /* decode the reply data */ bacnet_address_copy(&reply.address, dest_address); offset = - npdu_decode(&reply_pdu[0], &reply.address, NULL, &reply.npdu_data); + (uint16_t)npdu_decode(&reply_pdu[0], &reply.address, NULL, &reply.npdu_data); if (reply.npdu_data.network_layer_message) { return false; } diff --git a/bacnet-stack/ports/win32/rs485.c b/bacnet-stack/ports/win32/rs485.c index f610db99..c272d9dd 100644 --- a/bacnet-stack/ports/win32/rs485.c +++ b/bacnet-stack/ports/win32/rs485.c @@ -94,9 +94,10 @@ void strupper( { char *p; for (p = str; *p != '\0'; ++p) { - *p = toupper(*p); + *p = (char)toupper(*p); } } +#pragma /**************************************************************************** * DESCRIPTION: Initializes the RS485 hardware and variables, and starts in diff --git a/bacnet-stack/src/address.c b/bacnet-stack/src/address.c index 3d252d6a..d24ebcbf 100644 --- a/bacnet-stack/src/address.c +++ b/bacnet-stack/src/address.c @@ -222,7 +222,7 @@ void address_file_init( &mac[1], &mac[2], &mac[3], &mac[4], &mac[5]); src.mac_len = (uint8_t) count; for (index = 0; index < MAX_MAC_LEN; index++) { - src.mac[index] = mac[index]; + src.mac[index] = (uint8_t)mac[index]; } src.net = (uint16_t) snet; if (snet) { @@ -231,7 +231,7 @@ void address_file_init( &mac[1], &mac[2], &mac[3], &mac[4], &mac[5]); src.len = (uint8_t) count; for (index = 0; index < MAX_MAC_LEN; index++) { - src.adr[index] = mac[index]; + src.adr[index] = (uint8_t)mac[index]; } } else { src.len = 0; diff --git a/bacnet-stack/src/apdu.c b/bacnet-stack/src/apdu.c index 8ac5f82b..7e064aae 100644 --- a/bacnet-stack/src/apdu.c +++ b/bacnet-stack/src/apdu.c @@ -211,7 +211,7 @@ bool apdu_service_supported_to_index( } /* Confirmed ACK Function Handlers */ -static void *Confirmed_ACK_Function[MAX_BACNET_CONFIRMED_SERVICE]; +static confirmed_ack_function Confirmed_ACK_Function[MAX_BACNET_CONFIRMED_SERVICE]; void apdu_set_confirmed_simple_ack_handler( BACNET_CONFIRMED_SERVICE service_choice, @@ -238,7 +238,7 @@ void apdu_set_confirmed_simple_ack_handler( case SERVICE_CONFIRMED_VT_CLOSE: /* Security Services */ case SERVICE_CONFIRMED_REQUEST_KEY: - Confirmed_ACK_Function[service_choice] = (void *) pFunction; + Confirmed_ACK_Function[service_choice] = (confirmed_ack_function)pFunction; break; default: break; @@ -269,7 +269,7 @@ void apdu_set_confirmed_ack_handler( case SERVICE_CONFIRMED_VT_DATA: /* Security Services */ case SERVICE_CONFIRMED_AUTHENTICATE: - Confirmed_ACK_Function[service_choice] = (void *) pFunction; + Confirmed_ACK_Function[service_choice] = pFunction; break; default: break; @@ -366,7 +366,7 @@ void apdu_handler( uint8_t service_choice = 0; uint8_t *service_request = NULL; uint16_t service_request_len = 0; - uint16_t len = 0; /* counts where we are in PDU */ + int len = 0; /* counts where we are in PDU */ uint8_t tag_number = 0; uint32_t len_value = 0; uint32_t error_code = 0; @@ -434,7 +434,7 @@ void apdu_handler( case SERVICE_CONFIRMED_VT_CLOSE: /* Security Services */ case SERVICE_CONFIRMED_REQUEST_KEY: - if (Confirmed_ACK_Function[service_choice]) { + if (Confirmed_ACK_Function[service_choice] != NULL) { ((confirmed_simple_ack_function) Confirmed_ACK_Function[service_choice]) (src, invoke_id); @@ -458,7 +458,7 @@ void apdu_handler( } service_choice = apdu[len++]; service_request = &apdu[len]; - service_request_len = apdu_len - len; + service_request_len = apdu_len - (uint16_t)len; switch (service_choice) { case SERVICE_CONFIRMED_GET_ALARM_SUMMARY: case SERVICE_CONFIRMED_GET_ENROLLMENT_SUMMARY: @@ -478,9 +478,8 @@ void apdu_handler( case SERVICE_CONFIRMED_VT_DATA: /* Security Services */ case SERVICE_CONFIRMED_AUTHENTICATE: - if (Confirmed_ACK_Function[service_choice]) { - ((confirmed_ack_function) - Confirmed_ACK_Function[service_choice]) + if (Confirmed_ACK_Function[service_choice] != NULL) { + (Confirmed_ACK_Function[service_choice]) (service_request, service_request_len, src, &service_ack_data); } diff --git a/bacnet-stack/src/bacapp.c b/bacnet-stack/src/bacapp.c index a2ae4e8b..19f007e0 100644 --- a/bacnet-stack/src/bacapp.c +++ b/bacnet-stack/src/bacapp.c @@ -316,7 +316,7 @@ bool bacapp_decode_application_data_safe( { /* The static variables that store the apdu buffer between function calls */ static uint8_t *apdu = NULL; - static int32_t apdu_len_remaining = 0; + static uint32_t apdu_len_remaining = 0; static uint32_t apdu_len = 0; int len = 0; int tag_len = 0; @@ -1084,10 +1084,10 @@ bool bacapp_parse_application_data( datetime_set_date(&value->type.Date, (uint16_t) year, (uint8_t) month, (uint8_t) day); } else if (count == 4) { - value->type.Date.year = year; - value->type.Date.month = month; - value->type.Date.day = day; - value->type.Date.wday = wday; + value->type.Date.year = (uint16_t)year; + value->type.Date.month = (uint8_t)month; + value->type.Date.day = (uint8_t)day; + value->type.Date.wday = (uint8_t)wday; } else { status = false; } @@ -1097,18 +1097,18 @@ bool bacapp_parse_application_data( sscanf(argv, "%d:%d:%d.%d", &hour, &min, &sec, &hundredths); if (count == 4) { - value->type.Time.hour = hour; - value->type.Time.min = min; - value->type.Time.sec = sec; - value->type.Time.hundredths = hundredths; + value->type.Time.hour = (uint8_t)hour; + value->type.Time.min = (uint8_t)min; + value->type.Time.sec = (uint8_t)sec; + value->type.Time.hundredths = (uint8_t)hundredths; } else if (count == 3) { - value->type.Time.hour = hour; - value->type.Time.min = min; - value->type.Time.sec = sec; + value->type.Time.hour = (uint8_t)hour; + value->type.Time.min = (uint8_t)min; + value->type.Time.sec = (uint8_t)sec; value->type.Time.hundredths = 0; } else if (count == 2) { - value->type.Time.hour = hour; - value->type.Time.min = min; + value->type.Time.hour = (uint8_t)hour; + value->type.Time.min = (uint8_t)min; value->type.Time.sec = 0; value->type.Time.hundredths = 0; } else { @@ -1118,7 +1118,7 @@ bool bacapp_parse_application_data( case BACNET_APPLICATION_TAG_OBJECT_ID: count = sscanf(argv, "%d:%d", &object_type, &instance); if (count == 2) { - value->type.Object_Id.type = object_type; + value->type.Object_Id.type = (uint16_t)object_type; value->type.Object_Id.instance = instance; } else { status = false; diff --git a/bacnet-stack/src/bvlc.c b/bacnet-stack/src/bvlc.c index 6541e6c6..9cfea88c 100644 --- a/bacnet-stack/src/bvlc.c +++ b/bacnet-stack/src/bvlc.c @@ -206,7 +206,7 @@ int bvlc_encode_write_bdt_init( /* The 2-octet BVLC Length field is the length, in octets, of the entire BVLL message, including the two octets of the length field itself, most significant octet first. */ - BVLC_length = 4 + (entries * 10); + BVLC_length = 4 + (uint16_t)(entries * 10); encode_unsigned16(&pdu[2], BVLC_length); len = 4; } @@ -245,7 +245,7 @@ static int bvlc_encode_read_bdt_ack_init( /* The 2-octet BVLC Length field is the length, in octets, of the entire BVLL message, including the two octets of the length field itself, most significant octet first. */ - BVLC_length = 4 + (entries * 10); + BVLC_length = 4 + (uint16_t)(entries * 10); encode_unsigned16(&pdu[2], BVLC_length); len = 4; } @@ -370,7 +370,7 @@ static int bvlc_encode_read_fdt_ack_init( /* The 2-octet BVLC Length field is the length, in octets, of the entire BVLL message, including the two octets of the length field itself, most significant octet first. */ - BVLC_length = 4 + (entries * 10); + BVLC_length = 4 + (uint16_t)(entries * 10); encode_unsigned16(&pdu[2], BVLC_length); len = 4; } @@ -408,7 +408,7 @@ static int bvlc_encode_read_fdt_ack( pdu_len += len; len = encode_unsigned16(&pdu[pdu_len], FD_Table[i].time_to_live); pdu_len += len; - seconds_remaining = FD_Table[i].seconds_remaining; + seconds_remaining = (uint16_t)FD_Table[i].seconds_remaining; len = encode_unsigned16(&pdu[pdu_len], seconds_remaining); pdu_len += len; } @@ -455,7 +455,7 @@ int bvlc_encode_original_unicast_npdu( /* The 2-octet BVLC Length field is the length, in octets, of the entire BVLL message, including the two octets of the length field itself, most significant octet first. */ - BVLC_length = 4 + npdu_length; + BVLC_length = 4 + (uint16_t)npdu_length; len = encode_unsigned16(&pdu[2], BVLC_length) + 2; for (i = 0; i < npdu_length; i++) { pdu[len] = npdu[i]; @@ -481,7 +481,7 @@ int bvlc_encode_original_broadcast_npdu( /* The 2-octet BVLC Length field is the length, in octets, of the entire BVLL message, including the two octets of the length field itself, most significant octet first. */ - BVLC_length = 4 + npdu_length; + BVLC_length = 4 + (uint16_t)npdu_length; len = encode_unsigned16(&pdu[2], BVLC_length) + 2; for (i = 0; i < npdu_length; i++) { pdu[len] = npdu[i]; @@ -507,7 +507,7 @@ static void bvlc_internet_to_bacnet_address( len = encode_unsigned32(&src->mac[0], address); port = ntohs(sin->sin_port); len += encode_unsigned16(&src->mac[4], port); - src->mac_len = len; + src->mac_len = (uint8_t)len; src->net = 0; src->len = 0; } @@ -668,7 +668,7 @@ static void bvlc_bdt_forward_npdu( unsigned i = 0; /* loop counter */ struct sockaddr_in bip_dest = { 0 }; - mtu_len = bvlc_encode_forwarded_npdu(&mtu[0], sin, npdu, npdu_length); + mtu_len = (uint16_t)bvlc_encode_forwarded_npdu(&mtu[0], sin, npdu, npdu_length); /* loop through the BDT and send one to each entry, except us */ for (i = 0; i < MAX_BBMD_ENTRIES; i++) { if (BBMD_Table[i].valid) { @@ -710,7 +710,7 @@ static void bvlc_forward_npdu( uint16_t mtu_len = 0; struct sockaddr_in bip_dest = { 0 }; - mtu_len = bvlc_encode_forwarded_npdu(&mtu[0], sin, npdu, npdu_length); + mtu_len = (uint16_t)bvlc_encode_forwarded_npdu(&mtu[0], sin, npdu, npdu_length); bip_dest.sin_addr.s_addr = htonl(bip_get_broadcast_addr()); bip_dest.sin_port = htons(bip_get_port()); bvlc_send_mpdu(&bip_dest, mtu, mtu_len); @@ -727,7 +727,7 @@ static void bvlc_fdt_forward_npdu( unsigned i = 0; /* loop counter */ struct sockaddr_in bip_dest = { 0 }; - mtu_len = bvlc_encode_forwarded_npdu(&mtu[0], sin, npdu, max_npdu); + mtu_len = (uint16_t)bvlc_encode_forwarded_npdu(&mtu[0], sin, npdu, max_npdu); /* loop through the FDT and send one to each entry */ for (i = 0; i < MAX_FD_ENTRIES; i++) { if (FD_Table[i].valid && FD_Table[i].seconds_remaining) { @@ -769,7 +769,7 @@ void bvlc_register_with_bbmd( Write Broadcast Distribution Table, or register with the BBMD as a Foreign Device */ mtu_len = - bvlc_encode_register_foreign_device(&mtu[0], time_to_live_seconds); + (uint16_t)bvlc_encode_register_foreign_device(&mtu[0], time_to_live_seconds); bvlc_send_mpdu(&Remote_BBMD, &mtu[0], mtu_len); } @@ -780,7 +780,7 @@ static void bvlc_send_result( uint8_t mtu[MAX_MPDU] = { 0 }; uint16_t mtu_len = 0; - mtu_len = bvlc_encode_bvlc_result(&mtu[0], result_code); + mtu_len = (uint16_t)bvlc_encode_bvlc_result(&mtu[0], result_code); bvlc_send_mpdu(dest, mtu, mtu_len); return; @@ -792,7 +792,7 @@ static int bvlc_send_bdt( uint8_t mtu[MAX_MPDU] = { 0 }; uint16_t mtu_len = 0; - mtu_len = bvlc_encode_read_bdt_ack(&mtu[0], sizeof(mtu)); + mtu_len = (uint16_t)bvlc_encode_read_bdt_ack(&mtu[0], sizeof(mtu)); if (mtu_len) { bvlc_send_mpdu(dest, &mtu[0], mtu_len); } @@ -806,7 +806,7 @@ static int bvlc_send_fdt( uint8_t mtu[MAX_MPDU] = { 0 }; uint16_t mtu_len = 0; - mtu_len = bvlc_encode_read_fdt_ack(&mtu[0], sizeof(mtu)); + mtu_len = (uint16_t)bvlc_encode_read_fdt_ack(&mtu[0], sizeof(mtu)); if (mtu_len) { bvlc_send_mpdu(dest, &mtu[0], mtu_len); } @@ -1194,11 +1194,11 @@ int bvlc_send_pdu( } bvlc_dest.sin_addr.s_addr = htonl(address.s_addr); bvlc_dest.sin_port = htons(port); - BVLC_length = pdu_len + 4 /*inclusive */ ; + BVLC_length = (uint16_t)pdu_len + 4 /*inclusive */ ; mtu_len = 2; - mtu_len += encode_unsigned16(&mtu[mtu_len], BVLC_length); + mtu_len += (uint16_t)encode_unsigned16(&mtu[mtu_len], BVLC_length); memcpy(&mtu[mtu_len], pdu, pdu_len); - mtu_len += pdu_len; + mtu_len += (uint16_t)pdu_len; return bvlc_send_mpdu(&bvlc_dest, mtu, mtu_len); } diff --git a/bacnet-stack/src/cov.c b/bacnet-stack/src/cov.c index f02ad4da..72fc37df 100644 --- a/bacnet-stack/src/cov.c +++ b/bacnet-stack/src/cov.c @@ -274,7 +274,7 @@ int cov_notify_decode_service_request( decode_tag_number_and_value(&apdu[len], &tag_number, &len_value); len += decode_unsigned(&apdu[len], len_value, &decoded_value); - value->priority = decoded_value; + value->priority = (uint8_t)decoded_value; } else { value->priority = BACNET_NO_PRIORITY; } diff --git a/bacnet-stack/src/mstp.c b/bacnet-stack/src/mstp.c index ff50c862..1ecb45e8 100644 --- a/bacnet-stack/src/mstp.c +++ b/bacnet-stack/src/mstp.c @@ -714,7 +714,7 @@ bool MSTP_Master_Node_FSM( uint8_t frame_type = mstp_port->OutputBuffer[2]; uint8_t destination = mstp_port->OutputBuffer[3]; RS485_Send_Frame(mstp_port, - (uint8_t *) & mstp_port->OutputBuffer[0], length); + (uint8_t *) & mstp_port->OutputBuffer[0], (uint16_t)length); mstp_port->FrameCount++; switch (frame_type) { case FRAME_TYPE_BACNET_DATA_EXPECTING_REPLY: @@ -1049,7 +1049,7 @@ bool MSTP_Master_Node_FSM( /* then call MSTP_Create_And_Send_Frame to transmit the reply frame */ /* and enter the IDLE state to wait for the next frame. */ RS485_Send_Frame(mstp_port, - (uint8_t *) & mstp_port->OutputBuffer[0], length); + (uint8_t *) & mstp_port->OutputBuffer[0], (uint16_t)length); mstp_port->master_state = MSTP_MASTER_STATE_IDLE; } else { /* DeferredReply */ diff --git a/bacnet-stack/src/ptransfer.c b/bacnet-stack/src/ptransfer.c index 2f2274fe..d9c50484 100644 --- a/bacnet-stack/src/ptransfer.c +++ b/bacnet-stack/src/ptransfer.c @@ -139,7 +139,7 @@ int ptransfer_decode_service_request( return -1; } len = decode_len; - private_data->vendorID = unsigned_value; + private_data->vendorID = (uint16_t)unsigned_value; /* Tag 1: serviceNumber */ decode_len = decode_context_unsigned(&apdu[len], 1, &unsigned_value); if (decode_len < 0) { @@ -279,7 +279,7 @@ int ptransfer_error_decode_service_request( return -1; } len += decode_len; - private_data->vendorID = unsigned_value; + private_data->vendorID = (uint16_t)unsigned_value; /* Tag 2: serviceNumber */ decode_len = decode_context_unsigned(&apdu[len], 2, &unsigned_value); if (decode_len < 0) { diff --git a/bacnet-stack/src/tsm.c b/bacnet-stack/src/tsm.c index 8b2c0047..da60ba11 100644 --- a/bacnet-stack/src/tsm.c +++ b/bacnet-stack/src/tsm.c @@ -73,7 +73,7 @@ static uint8_t tsm_find_invokeID_index( for (i = 0; i < MAX_TSM_TRANSACTIONS; i++) { if (TSM_List[i].InvokeID == invokeID) { - index = i; + index = (uint8_t)i; break; } } @@ -89,7 +89,7 @@ static uint8_t tsm_find_first_free_index( for (i = 0; i < MAX_TSM_TRANSACTIONS; i++) { if (TSM_List[i].InvokeID == 0) { - index = i; + index = (uint8_t)i; break; } } @@ -238,7 +238,7 @@ bool tsm_get_transaction_pdu( /* FIXME: we may want to free the transaction so it doesn't timeout */ /* retrieve the transaction */ /* FIXME: bounds check the pdu_len? */ - *apdu_len = TSM_List[index].apdu_len; + *apdu_len = (uint16_t)TSM_List[index].apdu_len; for (j = 0; j < *apdu_len; j++) { apdu[j] = TSM_List[index].apdu[j]; }