From 3d3d7e420d274ffc02bd3ca6e9f914565f5e144b Mon Sep 17 00:00:00 2001 From: skarg Date: Thu, 24 Apr 2008 01:07:23 +0000 Subject: [PATCH] Ran the comment and indent tools on the source code. --- bacnet-stack/.splintrc | 2 +- bacnet-stack/demo/ucov/main.c | 4 +- bacnet-stack/include/bacstr.h | 2 +- bacnet-stack/ports/atmega168/bv.c | 603 +++++++++++++------------ bacnet-stack/ports/atmega168/device.c | 10 +- bacnet-stack/ports/atmega168/iar2gcc.h | 4 +- bacnet-stack/ports/atmega168/main.c | 26 +- bacnet-stack/ports/win32/bip-init.c | 2 +- bacnet-stack/src/bacstr.c | 5 +- bacnet-stack/src/bip.c | 2 +- bacnet-stack/src/bvlc.c | 35 +- 11 files changed, 345 insertions(+), 350 deletions(-) diff --git a/bacnet-stack/.splintrc b/bacnet-stack/.splintrc index 370de919..7de0b964 100644 --- a/bacnet-stack/.splintrc +++ b/bacnet-stack/.splintrc @@ -1 +1 @@ --Iinclude -Idemo/handler -Idemo/object -Iports/linux -castfcnptr -fullinitblock -weak +posixlib +-Iinclude -Iports/linux -castfcnptr -fullinitblock -weak +posixlib diff --git a/bacnet-stack/demo/ucov/main.c b/bacnet-stack/demo/ucov/main.c index c633d81a..f2ec7562 100644 --- a/bacnet-stack/demo/ucov/main.c +++ b/bacnet-stack/demo/ucov/main.c @@ -211,8 +211,8 @@ int main(int argc, char *argv[]) { filename_remove_path(argv[0]), filename_remove_path(argv[0])); return 0; } - /* decode the command line parameters */ - cov_data.subscriberProcessIdentifier = strtol(argv[1], NULL, 0); + /* decode the command line parameters */ cov_data. + subscriberProcessIdentifier = strtol(argv[1], NULL, 0); cov_data.initiatingDeviceIdentifier = strtol(argv[2], NULL, 0); cov_data.monitoredObjectIdentifier.type = strtol(argv[3], NULL, 0); cov_data.monitoredObjectIdentifier.instance = strtol(argv[4], NULL, 0); diff --git a/bacnet-stack/include/bacstr.h b/bacnet-stack/include/bacstr.h index fa8624b9..f00659a3 100644 --- a/bacnet-stack/include/bacstr.h +++ b/bacnet-stack/include/bacstr.h @@ -115,7 +115,7 @@ extern "C" { BACNET_CHARACTER_STRING * dest, BACNET_CHARACTER_STRING * src); bool characterstring_ansi_copy( - char * dest, + char *dest, size_t dest_max_len, BACNET_CHARACTER_STRING * src); /* returns true if the strings are the same length, encoding, value */ diff --git a/bacnet-stack/ports/atmega168/bv.c b/bacnet-stack/ports/atmega168/bv.c index d8a64ba4..ce03d362 100644 --- a/bacnet-stack/ports/atmega168/bv.c +++ b/bacnet-stack/ports/atmega168/bv.c @@ -1,301 +1,302 @@ -/************************************************************************** -* -* Copyright (C) 2006 Steve Karg -* -* Permission is hereby granted, free of charge, to any person obtaining -* a copy of this software and associated documentation files (the -* "Software"), to deal in the Software without restriction, including -* without limitation the rights to use, copy, modify, merge, publish, -* distribute, sublicense, and/or sell copies of the Software, and to -* permit persons to whom the Software is furnished to do so, subject to -* the following conditions: -* -* The above copyright notice and this permission notice shall be included -* in all copies or substantial portions of the Software. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -* -*********************************************************************/ - -/* Binary Value Objects - customize for your use */ - -#include -#include -#include -#include "hardware.h" -#include "bacdef.h" -#include "bacdcode.h" -#include "bacenum.h" -#include "config.h" /* the custom stuff */ -#include "wp.h" -#include "bv.h" - -#if (MAX_BINARY_VALUES > 10) -#error Modify the Binary_Value_Name to handle multiple digits -#endif - -static BACNET_BINARY_PV Present_Value[MAX_BINARY_VALUES]; - -/* we simply have 0-n object instances. */ -bool Binary_Value_Valid_Instance( - uint32_t object_instance) -{ - if (object_instance < MAX_BINARY_VALUES) - return true; - - return false; -} - -/* we simply have 0-n object instances. */ -unsigned Binary_Value_Count( - void) -{ - return MAX_BINARY_VALUES; -} - -/* we simply have 0-n object instances. */ -uint32_t Binary_Value_Index_To_Instance( - unsigned index) -{ - return index; -} - -/* we simply have 0-n object instances. */ -unsigned Binary_Value_Instance_To_Index( - uint32_t object_instance) -{ - unsigned index = MAX_BINARY_VALUES; - - if (object_instance < MAX_BINARY_VALUES) - index = object_instance; - - return index; -} - -static BACNET_BINARY_PV Binary_Value_Present_Value( - uint32_t object_instance) -{ - BACNET_BINARY_PV value = BINARY_INACTIVE; - - if (object_instance < MAX_BINARY_VALUES) { - value = Present_Value[object_instance]; - } - - return value; -} - -/* note: the object name must be unique within this device */ -char *Binary_Value_Name( - uint32_t object_instance) -{ - static char text_string[5] = "BV-0"; /* okay for single thread */ - - if (object_instance < MAX_BINARY_VALUES) { - text_string[3] = '0' + (uint8_t) object_instance; - return text_string; - } - - return NULL; -} - -/* return apdu len, or -1 on error */ -int Binary_Value_Encode_Property_APDU( - uint8_t * apdu, - uint32_t object_instance, - BACNET_PROPERTY_ID property, - int32_t array_index, - BACNET_ERROR_CLASS * error_class, - BACNET_ERROR_CODE * error_code) -{ - int apdu_len = 0; /* return value */ - BACNET_BIT_STRING bit_string; - BACNET_CHARACTER_STRING char_string; - BACNET_BINARY_PV present_value = BINARY_INACTIVE; - BACNET_POLARITY polarity = POLARITY_NORMAL; - - switch (property) { - case PROP_OBJECT_IDENTIFIER: - apdu_len = - encode_application_object_id(&apdu[0], OBJECT_BINARY_VALUE, - object_instance); - break; - /* note: Name and Description don't have to be the same. - You could make Description writable and different */ - case PROP_OBJECT_NAME: - characterstring_init_ansi(&char_string, - Binary_Value_Name(object_instance)); - apdu_len = - encode_application_character_string(&apdu[0], &char_string); - break; - case PROP_OBJECT_TYPE: - apdu_len = - encode_application_enumerated(&apdu[0], OBJECT_BINARY_VALUE); - break; - case PROP_PRESENT_VALUE: - present_value = Binary_Value_Present_Value(object_instance); - apdu_len = encode_application_enumerated(&apdu[0], present_value); - break; - case PROP_STATUS_FLAGS: - /* note: see the details in the standard on how to use these */ - bitstring_init(&bit_string); - bitstring_set_bit(&bit_string, STATUS_FLAG_IN_ALARM, false); - bitstring_set_bit(&bit_string, STATUS_FLAG_FAULT, false); - bitstring_set_bit(&bit_string, STATUS_FLAG_OVERRIDDEN, false); - bitstring_set_bit(&bit_string, STATUS_FLAG_OUT_OF_SERVICE, false); - apdu_len = encode_application_bitstring(&apdu[0], &bit_string); - break; - case PROP_EVENT_STATE: - /* note: see the details in the standard on how to use this */ - apdu_len = - encode_application_enumerated(&apdu[0], EVENT_STATE_NORMAL); - break; - case PROP_OUT_OF_SERVICE: - apdu_len = encode_application_boolean(&apdu[0], false); - break; - case PROP_POLARITY: - /* FIXME: figure out the polarity */ - apdu_len = encode_application_enumerated(&apdu[0], polarity); - break; - default: - *error_class = ERROR_CLASS_PROPERTY; - *error_code = ERROR_CODE_UNKNOWN_PROPERTY; - apdu_len = -1; - break; - } - - return apdu_len; -} - -/* returns true if successful */ -bool Binary_Value_Write_Property( - BACNET_WRITE_PROPERTY_DATA * wp_data, - BACNET_ERROR_CLASS * error_class, - BACNET_ERROR_CODE * error_code) -{ - bool status = false; /* return value */ - unsigned int object_index = 0; - int len = 0; - BACNET_APPLICATION_DATA_VALUE value; - - if (!Binary_Value_Valid_Instance(wp_data->object_instance)) { - *error_class = ERROR_CLASS_OBJECT; - *error_code = ERROR_CODE_UNKNOWN_OBJECT; - return false; - } - /* decode the some of the request */ - len = - bacapp_decode_application_data(wp_data->application_data, - wp_data->application_data_len, &value); - /* FIXME: len < application_data_len: more data? */ - /* FIXME: len == 0: unable to decode? */ - switch (wp_data->object_property) { - case PROP_PRESENT_VALUE: - if (value.tag == BACNET_APPLICATION_TAG_ENUMERATED) { - if ((value.type.Enumerated == BINARY_ACTIVE) || - (value.type.Enumerated == BINARY_INACTIVE)) { - object_index = - Binary_Value_Instance_To_Index(wp_data-> - object_instance); - /* NOTE: this Binary value has no priority array */ - Present_Value[object_index] = (BACNET_BINARY_PV)value.type.Enumerated; - /* Note: you could set the physical output here if we - are the highest priority. - However, if Out of Service is TRUE, then don't set the - physical output. */ - if (Present_Value[0] == BINARY_ACTIVE) { - LED_GREEN_ON(); - } else { - LED_GREEN_OFF(); - } - status = true; - } else { - *error_class = ERROR_CLASS_PROPERTY; - *error_code = ERROR_CODE_VALUE_OUT_OF_RANGE; - } - } else { - *error_class = ERROR_CLASS_PROPERTY; - *error_code = ERROR_CODE_INVALID_DATA_TYPE; - } - break; -#if 0 - case PROP_OUT_OF_SERVICE: - if (value.tag == BACNET_APPLICATION_TAG_BOOLEAN) { - object_index = - Binary_Value_Instance_To_Index(wp_data->object_instance); - Binary_Value_Out_Of_Service[object_index] = value.type.Boolean; - status = true; - } else { - *error_class = ERROR_CLASS_PROPERTY; - *error_code = ERROR_CODE_INVALID_DATA_TYPE; - } - break; -#endif - default: - *error_class = ERROR_CLASS_PROPERTY; - *error_code = ERROR_CODE_WRITE_ACCESS_DENIED; - break; - } - - return status; -} - -#ifdef TEST -#include -#include -#include "ctest.h" - -void testBinary_Value( - Test * pTest) -{ - uint8_t apdu[MAX_APDU] = { 0 }; - int len = 0; - uint32_t len_value = 0; - uint8_t tag_number = 0; - BACNET_OBJECT_TYPE decoded_type = OBJECT_BINARY_VALUE; - uint32_t decoded_instance = 0; - uint32_t instance = 123; - BACNET_ERROR_CLASS error_class; - BACNET_ERROR_CODE error_code; - - - len = - Binary_Value_Encode_Property_APDU(&apdu[0], instance, - PROP_OBJECT_IDENTIFIER, BACNET_ARRAY_ALL, &error_class, &error_code); - ct_test(pTest, len != 0); - len = decode_tag_number_and_value(&apdu[0], &tag_number, &len_value); - ct_test(pTest, tag_number == BACNET_APPLICATION_TAG_OBJECT_ID); - len = - decode_object_id(&apdu[len], (int *) &decoded_type, &decoded_instance); - ct_test(pTest, decoded_type == OBJECT_BINARY_VALUE); - ct_test(pTest, decoded_instance == instance); - - return; -} - -#ifdef TEST_BINARY_VALUE -int main( - void) -{ - Test *pTest; - bool rc; - - pTest = ct_create("BACnet Binary_Value", NULL); - /* individual tests */ - rc = ct_addTestFunction(pTest, testBinary_Value); - assert(rc); - - ct_setStream(pTest, stdout); - ct_run(pTest); - (void) ct_report(pTest); - ct_destroy(pTest); - - return 0; -} -#endif /* TEST_BINARY_VALUE */ -#endif /* TEST */ +/************************************************************************** +* +* Copyright (C) 2006 Steve Karg +* +* Permission is hereby granted, free of charge, to any person obtaining +* a copy of this software and associated documentation files (the +* "Software"), to deal in the Software without restriction, including +* without limitation the rights to use, copy, modify, merge, publish, +* distribute, sublicense, and/or sell copies of the Software, and to +* permit persons to whom the Software is furnished to do so, subject to +* the following conditions: +* +* The above copyright notice and this permission notice shall be included +* in all copies or substantial portions of the Software. +* +* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* +*********************************************************************/ + +/* Binary Value Objects - customize for your use */ + +#include +#include +#include +#include "hardware.h" +#include "bacdef.h" +#include "bacdcode.h" +#include "bacenum.h" +#include "config.h" /* the custom stuff */ +#include "wp.h" +#include "bv.h" + +#if (MAX_BINARY_VALUES > 10) +#error Modify the Binary_Value_Name to handle multiple digits +#endif + +static BACNET_BINARY_PV Present_Value[MAX_BINARY_VALUES]; + +/* we simply have 0-n object instances. */ +bool Binary_Value_Valid_Instance( + uint32_t object_instance) +{ + if (object_instance < MAX_BINARY_VALUES) + return true; + + return false; +} + +/* we simply have 0-n object instances. */ +unsigned Binary_Value_Count( + void) +{ + return MAX_BINARY_VALUES; +} + +/* we simply have 0-n object instances. */ +uint32_t Binary_Value_Index_To_Instance( + unsigned index) +{ + return index; +} + +/* we simply have 0-n object instances. */ +unsigned Binary_Value_Instance_To_Index( + uint32_t object_instance) +{ + unsigned index = MAX_BINARY_VALUES; + + if (object_instance < MAX_BINARY_VALUES) + index = object_instance; + + return index; +} + +static BACNET_BINARY_PV Binary_Value_Present_Value( + uint32_t object_instance) +{ + BACNET_BINARY_PV value = BINARY_INACTIVE; + + if (object_instance < MAX_BINARY_VALUES) { + value = Present_Value[object_instance]; + } + + return value; +} + +/* note: the object name must be unique within this device */ +char *Binary_Value_Name( + uint32_t object_instance) +{ + static char text_string[5] = "BV-0"; /* okay for single thread */ + + if (object_instance < MAX_BINARY_VALUES) { + text_string[3] = '0' + (uint8_t) object_instance; + return text_string; + } + + return NULL; +} + +/* return apdu len, or -1 on error */ +int Binary_Value_Encode_Property_APDU( + uint8_t * apdu, + uint32_t object_instance, + BACNET_PROPERTY_ID property, + int32_t array_index, + BACNET_ERROR_CLASS * error_class, + BACNET_ERROR_CODE * error_code) +{ + int apdu_len = 0; /* return value */ + BACNET_BIT_STRING bit_string; + BACNET_CHARACTER_STRING char_string; + BACNET_BINARY_PV present_value = BINARY_INACTIVE; + BACNET_POLARITY polarity = POLARITY_NORMAL; + + switch (property) { + case PROP_OBJECT_IDENTIFIER: + apdu_len = + encode_application_object_id(&apdu[0], OBJECT_BINARY_VALUE, + object_instance); + break; + /* note: Name and Description don't have to be the same. + You could make Description writable and different */ + case PROP_OBJECT_NAME: + characterstring_init_ansi(&char_string, + Binary_Value_Name(object_instance)); + apdu_len = + encode_application_character_string(&apdu[0], &char_string); + break; + case PROP_OBJECT_TYPE: + apdu_len = + encode_application_enumerated(&apdu[0], OBJECT_BINARY_VALUE); + break; + case PROP_PRESENT_VALUE: + present_value = Binary_Value_Present_Value(object_instance); + apdu_len = encode_application_enumerated(&apdu[0], present_value); + break; + case PROP_STATUS_FLAGS: + /* note: see the details in the standard on how to use these */ + bitstring_init(&bit_string); + bitstring_set_bit(&bit_string, STATUS_FLAG_IN_ALARM, false); + bitstring_set_bit(&bit_string, STATUS_FLAG_FAULT, false); + bitstring_set_bit(&bit_string, STATUS_FLAG_OVERRIDDEN, false); + bitstring_set_bit(&bit_string, STATUS_FLAG_OUT_OF_SERVICE, false); + apdu_len = encode_application_bitstring(&apdu[0], &bit_string); + break; + case PROP_EVENT_STATE: + /* note: see the details in the standard on how to use this */ + apdu_len = + encode_application_enumerated(&apdu[0], EVENT_STATE_NORMAL); + break; + case PROP_OUT_OF_SERVICE: + apdu_len = encode_application_boolean(&apdu[0], false); + break; + case PROP_POLARITY: + /* FIXME: figure out the polarity */ + apdu_len = encode_application_enumerated(&apdu[0], polarity); + break; + default: + *error_class = ERROR_CLASS_PROPERTY; + *error_code = ERROR_CODE_UNKNOWN_PROPERTY; + apdu_len = -1; + break; + } + + return apdu_len; +} + +/* returns true if successful */ +bool Binary_Value_Write_Property( + BACNET_WRITE_PROPERTY_DATA * wp_data, + BACNET_ERROR_CLASS * error_class, + BACNET_ERROR_CODE * error_code) +{ + bool status = false; /* return value */ + unsigned int object_index = 0; + int len = 0; + BACNET_APPLICATION_DATA_VALUE value; + + if (!Binary_Value_Valid_Instance(wp_data->object_instance)) { + *error_class = ERROR_CLASS_OBJECT; + *error_code = ERROR_CODE_UNKNOWN_OBJECT; + return false; + } + /* decode the some of the request */ + len = + bacapp_decode_application_data(wp_data->application_data, + wp_data->application_data_len, &value); + /* FIXME: len < application_data_len: more data? */ + /* FIXME: len == 0: unable to decode? */ + switch (wp_data->object_property) { + case PROP_PRESENT_VALUE: + if (value.tag == BACNET_APPLICATION_TAG_ENUMERATED) { + if ((value.type.Enumerated == BINARY_ACTIVE) || + (value.type.Enumerated == BINARY_INACTIVE)) { + object_index = + Binary_Value_Instance_To_Index(wp_data-> + object_instance); + /* NOTE: this Binary value has no priority array */ + Present_Value[object_index] = + (BACNET_BINARY_PV) value.type.Enumerated; + /* Note: you could set the physical output here if we + are the highest priority. + However, if Out of Service is TRUE, then don't set the + physical output. */ + if (Present_Value[0] == BINARY_ACTIVE) { + LED_GREEN_ON(); + } else { + LED_GREEN_OFF(); + } + status = true; + } else { + *error_class = ERROR_CLASS_PROPERTY; + *error_code = ERROR_CODE_VALUE_OUT_OF_RANGE; + } + } else { + *error_class = ERROR_CLASS_PROPERTY; + *error_code = ERROR_CODE_INVALID_DATA_TYPE; + } + break; +#if 0 + case PROP_OUT_OF_SERVICE: + if (value.tag == BACNET_APPLICATION_TAG_BOOLEAN) { + object_index = + Binary_Value_Instance_To_Index(wp_data->object_instance); + Binary_Value_Out_Of_Service[object_index] = value.type.Boolean; + status = true; + } else { + *error_class = ERROR_CLASS_PROPERTY; + *error_code = ERROR_CODE_INVALID_DATA_TYPE; + } + break; +#endif + default: + *error_class = ERROR_CLASS_PROPERTY; + *error_code = ERROR_CODE_WRITE_ACCESS_DENIED; + break; + } + + return status; +} + +#ifdef TEST +#include +#include +#include "ctest.h" + +void testBinary_Value( + Test * pTest) +{ + uint8_t apdu[MAX_APDU] = { 0 }; + int len = 0; + uint32_t len_value = 0; + uint8_t tag_number = 0; + BACNET_OBJECT_TYPE decoded_type = OBJECT_BINARY_VALUE; + uint32_t decoded_instance = 0; + uint32_t instance = 123; + BACNET_ERROR_CLASS error_class; + BACNET_ERROR_CODE error_code; + + + len = + Binary_Value_Encode_Property_APDU(&apdu[0], instance, + PROP_OBJECT_IDENTIFIER, BACNET_ARRAY_ALL, &error_class, &error_code); + ct_test(pTest, len != 0); + len = decode_tag_number_and_value(&apdu[0], &tag_number, &len_value); + ct_test(pTest, tag_number == BACNET_APPLICATION_TAG_OBJECT_ID); + len = + decode_object_id(&apdu[len], (int *) &decoded_type, &decoded_instance); + ct_test(pTest, decoded_type == OBJECT_BINARY_VALUE); + ct_test(pTest, decoded_instance == instance); + + return; +} + +#ifdef TEST_BINARY_VALUE +int main( + void) +{ + Test *pTest; + bool rc; + + pTest = ct_create("BACnet Binary_Value", NULL); + /* individual tests */ + rc = ct_addTestFunction(pTest, testBinary_Value); + assert(rc); + + ct_setStream(pTest, stdout); + ct_run(pTest); + (void) ct_report(pTest); + ct_destroy(pTest); + + return 0; +} +#endif /* TEST_BINARY_VALUE */ +#endif /* TEST */ diff --git a/bacnet-stack/ports/atmega168/device.c b/bacnet-stack/ports/atmega168/device.c index 4778ea7c..62dc0dfb 100644 --- a/bacnet-stack/ports/atmega168/device.c +++ b/bacnet-stack/ports/atmega168/device.c @@ -338,8 +338,7 @@ int Device_Encode_Property_APDU( /* to return an error if the number of encoded objects exceeds */ /* your maximum APDU size. */ for (i = 1; i <= count; i++) { - len = - encode_application_unsigned(&apdu[0], *(&_end+i)); + len = encode_application_unsigned(&apdu[0], *(&_end + i)); apdu_len += len; /* assume next one is the same size as this one */ /* can we all fit into the APDU? */ @@ -351,7 +350,9 @@ int Device_Encode_Property_APDU( } } } else if (array_index <= count) { - apdu_len = encode_application_unsigned(&apdu[0], *(&_end+array_index)); + apdu_len = + encode_application_unsigned(&apdu[0], + *(&_end + array_index)); } else { *error_class = ERROR_CLASS_PROPERTY; *error_code = ERROR_CODE_INVALID_ARRAY_INDEX; @@ -445,8 +446,7 @@ bool Device_Write_Property( encoding = characterstring_encoding(&value.type.Character_String); if (encoding == CHARACTER_ANSI_X34) { - if (characterstring_ansi_copy( - &Object_Name[0], + if (characterstring_ansi_copy(&Object_Name[0], sizeof(Object_Name), &value.type.Character_String)) { status = true; diff --git a/bacnet-stack/ports/atmega168/iar2gcc.h b/bacnet-stack/ports/atmega168/iar2gcc.h index 3a051408..98e9968d 100644 --- a/bacnet-stack/ports/atmega168/iar2gcc.h +++ b/bacnet-stack/ports/atmega168/iar2gcc.h @@ -218,9 +218,9 @@ typedef struct { /* IAR intrinsic routines */ #if defined(__GNUC__) /* FIXME: intrinsic routines: map to assembler for size/speed */ - #define __multiply_unsigned(x,y) ((x)*(y)) +#define __multiply_unsigned(x,y) ((x)*(y)) /* FIXME: __root means to not optimize or strip */ - #define __root +#define __root #endif #endif diff --git a/bacnet-stack/ports/atmega168/main.c b/bacnet-stack/ports/atmega168/main.c index ab899595..b04570bd 100644 --- a/bacnet-stack/ports/atmega168/main.c +++ b/bacnet-stack/ports/atmega168/main.c @@ -143,31 +143,25 @@ static void input_switch_read( extern uint8_t _end; extern uint8_t __stack; #define STACK_CANARY (0xC5) -void StackPaint(void) __attribute__ ((naked)) __attribute__ ((section (".init1"))); +void StackPaint( + void) __attribute__ ((naked)) __attribute__ ((section(".init1"))); -void StackPaint(void) +void StackPaint( + void) { #if 0 uint8_t *p = &_end; - while(p <= &__stack) - { + while (p <= &__stack) { *p = STACK_CANARY; p++; } #else - __asm volatile (" ldi r30,lo8(_end)\n" - " ldi r31,hi8(_end)\n" - " ldi r24,lo8(0xc5)\n" /* STACK_CANARY = 0xc5 */ - " ldi r25,hi8(__stack)\n" - " rjmp .cmp\n" - ".loop:\n" - " st Z+,r24\n" - ".cmp:\n" - " cpi r30,lo8(__stack)\n" - " cpc r31,r25\n" - " brlo .loop\n" - " breq .loop"::); + __asm volatile ( + " ldi r30,lo8(_end)\n" " ldi r31,hi8(_end)\n" " ldi r24,lo8(0xc5)\n" /* STACK_CANARY = 0xc5 */ + " ldi r25,hi8(__stack)\n" " rjmp .cmp\n" ".loop:\n" + " st Z+,r24\n" ".cmp:\n" " cpi r30,lo8(__stack)\n" + " cpc r31,r25\n" " brlo .loop\n" " breq .loop"::); #endif } #endif diff --git a/bacnet-stack/ports/win32/bip-init.c b/bacnet-stack/ports/win32/bip-init.c index b06d6231..6df3fb76 100644 --- a/bacnet-stack/ports/win32/bip-init.c +++ b/bacnet-stack/ports/win32/bip-init.c @@ -95,7 +95,7 @@ static uint32_t getIpMaskForIpAddress( DWORD dwBufLen = sizeof(AdapterInfo); uint32_t ipMask = INADDR_BROADCAST; bool found = false; - + PIP_ADAPTER_INFO pAdapterInfo; /* GetAdapterInfo: diff --git a/bacnet-stack/src/bacstr.c b/bacnet-stack/src/bacstr.c index 3592dc49..4f8fe388 100644 --- a/bacnet-stack/src/bacstr.c +++ b/bacnet-stack/src/bacstr.c @@ -247,14 +247,13 @@ bool characterstring_copy( } bool characterstring_ansi_copy( - char * dest, + char *dest, size_t dest_max_len, BACNET_CHARACTER_STRING * src) { size_t i; /* counter */ - if (dest && src && - (src->encoding == CHARACTER_ANSI_X34) && + if (dest && src && (src->encoding == CHARACTER_ANSI_X34) && (src->length < dest_max_len)) { for (i = 0; i < src->length; i++) { dest[i] = src->value[i]; diff --git a/bacnet-stack/src/bip.c b/bacnet-stack/src/bip.c index fdc080a2..97a32ff7 100644 --- a/bacnet-stack/src/bip.c +++ b/bacnet-stack/src/bip.c @@ -291,7 +291,7 @@ uint16_t bip_receive( } } } else if (pdu[1] == BVLC_FORWARDED_NPDU) { - (void) decode_unsigned32(&pdu[4], (uint32_t *)&sin.sin_addr.s_addr); + (void) decode_unsigned32(&pdu[4], (uint32_t *) & sin.sin_addr.s_addr); (void) decode_unsigned16(&pdu[8], &sin.sin_port); if ((sin.sin_addr.s_addr == htonl(BIP_Address.s_addr)) && (sin.sin_port == htons(BIP_Port))) { diff --git a/bacnet-stack/src/bvlc.c b/bacnet-stack/src/bvlc.c index 3a677622..5fd5049d 100644 --- a/bacnet-stack/src/bvlc.c +++ b/bacnet-stack/src/bvlc.c @@ -180,7 +180,7 @@ int bvlc_encode_bvlc_result( of the entire BVLL message, including the two octets of the length field itself, most significant octet first. */ encode_unsigned16(&pdu[2], 6); - encode_unsigned16(&pdu[4], (uint16_t)result_code); + encode_unsigned16(&pdu[4], (uint16_t) result_code); } return 6; @@ -191,7 +191,7 @@ int bvlc_encode_write_bdt_init( unsigned entries) { int len = 0; - uint16_t BVLC_length = 0; + uint16_t BVLC_length = 0; if (pdu) { pdu[0] = BVLL_TYPE_BACNET_IP; @@ -199,7 +199,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 + (entries * 10); encode_unsigned16(&pdu[2], BVLC_length); len = 4; } @@ -230,7 +230,7 @@ int bvlc_encode_read_bdt_ack_init( unsigned entries) { int len = 0; - uint16_t BVLC_length = 0; + uint16_t BVLC_length = 0; if (pdu) { pdu[0] = BVLL_TYPE_BACNET_IP; @@ -298,7 +298,7 @@ int bvlc_encode_forwarded_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. */ - encode_unsigned16(&pdu[2], (uint16_t)(4 + 6 + npdu_length)); + encode_unsigned16(&pdu[2], (uint16_t) (4 + 6 + npdu_length)); len = 4; address.s_addr = ntohl(sin->sin_addr.s_addr); port = ntohs(sin->sin_port); @@ -355,7 +355,7 @@ int bvlc_encode_read_fdt_ack_init( unsigned entries) { int len = 0; - uint16_t BVLC_length = 0; + uint16_t BVLC_length = 0; if (pdu) { pdu[0] = BVLL_TYPE_BACNET_IP; @@ -363,7 +363,7 @@ 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 + (entries * 10); encode_unsigned16(&pdu[2], BVLC_length); len = 4; } @@ -400,7 +400,8 @@ int bvlc_encode_read_fdt_ack( pdu_len += len; encode_unsigned16(&pdu[pdu_len], FD_Table[i].time_to_live); pdu_len += len; - encode_unsigned16(&pdu[pdu_len], (uint16_t)FD_Table[i].seconds_remaining); + encode_unsigned16(&pdu[pdu_len], + (uint16_t) FD_Table[i].seconds_remaining); pdu_len += len; } } @@ -438,7 +439,7 @@ int bvlc_encode_distribute_broadcast_to_network( { int len = 0; /* return value */ unsigned i; /* for loop counter */ - uint16_t BVLC_length = 0; + uint16_t BVLC_length = 0; if (pdu) { pdu[0] = BVLL_TYPE_BACNET_IP; @@ -446,7 +447,7 @@ int bvlc_encode_distribute_broadcast_to_network( /* 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 + npdu_length; len = encode_unsigned16(&pdu[2], BVLC_length) + 2; for (i = 0; i < npdu_length; i++) { pdu[len] = npdu[i]; @@ -464,7 +465,7 @@ int bvlc_encode_original_unicast_npdu( { int len = 0; /* return value */ unsigned i = 0; /* loop counter */ - uint16_t BVLC_length = 0; + uint16_t BVLC_length = 0; if (pdu) { pdu[0] = BVLL_TYPE_BACNET_IP; @@ -472,7 +473,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 + npdu_length; len = encode_unsigned16(&pdu[2], BVLC_length) + 2; for (i = 0; i < npdu_length; i++) { pdu[len] = npdu[i]; @@ -490,7 +491,7 @@ int bvlc_encode_original_broadcast_npdu( { int len = 0; /* return value */ unsigned i = 0; /* loop counter */ - uint16_t BVLC_length = 0; + uint16_t BVLC_length = 0; if (pdu) { pdu[0] = BVLL_TYPE_BACNET_IP; @@ -498,7 +499,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 + npdu_length; len = encode_unsigned16(&pdu[2], BVLC_length) + 2; for (i = 0; i < npdu_length; i++) { pdu[len] = npdu[i]; @@ -720,7 +721,7 @@ void bvlc_broadcast_forward_npdu( uint8_t mtu[MAX_MPDU] = { 0 }; uint16_t mtu_len = 0; struct sockaddr_in bvlc_dest; - uint16_t BVLC_length = 0; + uint16_t BVLC_length = 0; /* FIXME: unused parameter */ sin = sin; @@ -729,7 +730,7 @@ void bvlc_broadcast_forward_npdu( mtu[1] = BVLC_ORIGINAL_BROADCAST_NPDU; bvlc_dest.sin_addr.s_addr = htonl(bip_get_broadcast_addr()); bvlc_dest.sin_port = htons(bip_get_port()); - BVLC_length = npdu_len + 4 /*inclusive */; + BVLC_length = npdu_len + 4 /*inclusive */ ; mtu_len = 2; mtu_len += encode_unsigned16(&mtu[mtu_len], BVLC_length); memcpy(&mtu[mtu_len], npdu, npdu_len); @@ -1152,7 +1153,7 @@ 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 = pdu_len + 4 /*inclusive */ ; mtu_len = 2; mtu_len += encode_unsigned16(&mtu[mtu_len], BVLC_length); memcpy(&mtu[mtu_len], pdu, pdu_len);