From 00a3447ffdd90d9eecd2aa7b78e9ac40ef311744 Mon Sep 17 00:00:00 2001 From: skarg Date: Fri, 25 Aug 2017 17:07:11 +0000 Subject: [PATCH] Merged revision(s) 3154 from branches/releases/bacnet-stack-0-8-0: Fixed WriteProperty demo command line options when using more than one property value and a context tag. Thank you James Gordon for reporting the problem. ........ --- bacnet-stack/demo/writeprop/main.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/bacnet-stack/demo/writeprop/main.c b/bacnet-stack/demo/writeprop/main.c index bc545121..4447cb52 100644 --- a/bacnet-stack/demo/writeprop/main.c +++ b/bacnet-stack/demo/writeprop/main.c @@ -297,8 +297,9 @@ int main( return 1; } args_remaining = (argc - 7); + /* location of next arg in arg array */ + tag_value_arg = 7; for (i = 0; i < MAX_PROPERTY_VALUES; i++) { - tag_value_arg = 7 + (i * 2); /* special case for context tagged values */ if (toupper(argv[tag_value_arg][0]) == 'C') { context_tag = (uint8_t) strtol(&argv[tag_value_arg][1], NULL, 0); @@ -310,12 +311,14 @@ int main( Target_Object_Property_Value[i].context_specific = false; } property_tag = strtol(argv[tag_value_arg], NULL, 0); + tag_value_arg++; args_remaining--; if (args_remaining <= 0) { fprintf(stderr, "Error: not enough tag-value pairs\n"); return 1; } - value_string = argv[tag_value_arg + 1]; + value_string = argv[tag_value_arg]; + tag_value_arg++; args_remaining--; /* printf("tag[%d]=%u value[%d]=%s\n", i, property_tag, i, value_string); */