From ef5695a47a3d7e83a32753cdc115baaa93feac20 Mon Sep 17 00:00:00 2001 From: skarg Date: Mon, 5 Feb 2007 16:33:33 +0000 Subject: [PATCH] Changed memmove to simple loop to be compatible with PIC port. --- bacnet-stack/bacdcode.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/bacnet-stack/bacdcode.c b/bacnet-stack/bacdcode.c index 463de8c2..a8ccbf8b 100644 --- a/bacnet-stack/bacdcode.c +++ b/bacnet-stack/bacdcode.c @@ -1025,12 +1025,17 @@ int encode_tagged_object_id(uint8_t * apdu, int encode_octet_string(uint8_t * apdu, BACNET_OCTET_STRING * octet_string) { int len = 0; /* return value */ + uint8_t *value; + int i = 0; /* loop counter */ if (octet_string) { /* FIXME: might need to pass in the length of the APDU to bounds check since it might not be the only data chunk */ len = octetstring_length(octet_string); - memmove(&apdu[0], octetstring_value(octet_string), len); + value = octetstring_value(octet_string); + for (i = 0; i < len; i++) { + apdu[1+i] = value[i]; + } } return len; @@ -1100,11 +1105,15 @@ int decode_octet_string(uint8_t * apdu, uint32_t len_value, int encode_bacnet_character_string(uint8_t * apdu, BACNET_CHARACTER_STRING * char_string) { - int len; + int len, i; + char *pString; len = characterstring_length(char_string); apdu[0] = characterstring_encoding(char_string); - memmove(&apdu[1], characterstring_value(char_string), len); + pString = characterstring_value(char_string); + for (i = 0; i < len; i++) { + apdu[1+i] = pString[i]; + } return len + 1 /* for encoding */ ; }