# HG changeset patch
# User laurent
# Date 1260373966 -3600
# Node ID 28afed8b1af5fea757539035b5ddd67fb9d92c82
# Parent  898648a09e13beb28438d0ac39f5e9aa1c723a89
Error in value send when debugging forced external or located variable fixed

diff -r 898648a09e13 -r 28afed8b1af5 targets/plc_debug.c
--- a/targets/plc_debug.c	Wed Dec 09 16:51:22 2009 +0100
+++ b/targets/plc_debug.c	Wed Dec 09 16:52:46 2009 +0100
@@ -65,7 +65,10 @@
 #define __BufferDebugDataIterator_case_p(TYPENAME)\
         case TYPENAME##_P_ENUM :\
             *flags = ((__IEC_##TYPENAME##_p *)varp)->flags;\
-            *ptrvalue = ((__IEC_##TYPENAME##_p *)varp)->value;\
+            if (*flags && __IEC_FORCE_FLAG)\
+               *ptrvalue = &((__IEC_##TYPENAME##_p *)varp)->fvalue;\
+            else\
+               *ptrvalue = ((__IEC_##TYPENAME##_p *)varp)->value;\
             break;
 
 void UnpackVar(void* varp, __IEC_types_enum vartype, void **ptrvalue, char *flags)