targets/plc_debug.c
changeset 458 dfc6164e4022
parent 452 2d0718a05cc7
child 477 f66a092b6e74
--- a/targets/plc_debug.c	Sun Dec 06 15:58:33 2009 +0100
+++ b/targets/plc_debug.c	Sun Dec 06 17:45:36 2009 +0100
@@ -79,12 +79,14 @@
 #define __BufferDebugDataIterator_case_t(TYPENAME) \
         case TYPENAME##_ENUM :\
             flags = ((__IEC_##TYPENAME##_t *)varp)->flags;\
-            ptrvalue = &((__IEC_##TYPENAME##_t *)varp)->value;
+            ptrvalue = &((__IEC_##TYPENAME##_t *)varp)->value;\
+            break;
 
 #define __BufferDebugDataIterator_case_p(TYPENAME)\
         case TYPENAME##_P_ENUM :\
             flags = ((__IEC_##TYPENAME##_p *)varp)->flags;\
-            ptrvalue = ((__IEC_##TYPENAME##_p *)varp)->value;
+            ptrvalue = ((__IEC_##TYPENAME##_p *)varp)->value;\
+            break;
 
 void BufferDebugDataIterator(void* varp, __IEC_types_enum vartype)
 {
@@ -144,14 +146,16 @@
 
 #define __RegisterDebugVariable_case_t(TYPENAME) \
         case TYPENAME##_ENUM :\
-            ((__IEC_##TYPENAME##_t *)varp)->flags |= __IEC_DEBUG_FLAG;
+            ((__IEC_##TYPENAME##_t *)varp)->flags |= __IEC_DEBUG_FLAG;\
+            break;
 #define __RegisterDebugVariable_case_p(TYPENAME)\
         case TYPENAME##_P_ENUM :\
-            ((__IEC_##TYPENAME##_p *)varp)->flags |= __IEC_DEBUG_FLAG;
+            ((__IEC_##TYPENAME##_p *)varp)->flags |= __IEC_DEBUG_FLAG;\
+            break;
 void RegisterDebugVariable(int idx)
 {
     void *varp = NULL;
-    switch(__find_variable(idx, varp)){
+    switch(__find_variable(idx, &varp)){
         ANY(__RegisterDebugVariable_case_t)
         ANY(__RegisterDebugVariable_case_p)
     default:
@@ -161,11 +165,13 @@
 
 #define __ResetDebugVariablesIterator_case_t(TYPENAME) \
         case TYPENAME##_ENUM :\
-            ((__IEC_##TYPENAME##_t *)varp)->flags &= ~__IEC_DEBUG_FLAG;
+            ((__IEC_##TYPENAME##_t *)varp)->flags &= ~__IEC_DEBUG_FLAG;\
+            break;
 
 #define __ResetDebugVariablesIterator_case_p(TYPENAME)\
         case TYPENAME##_P_ENUM :\
             ((__IEC_##TYPENAME##_p *)varp)->flags &= ~__IEC_DEBUG_FLAG;\
+            break;
 
 void ResetDebugVariablesIterator(void* varp, __IEC_types_enum vartype)
 {
@@ -197,7 +203,7 @@
 int GetDebugData(unsigned long *tick, unsigned long *size, void **buffer){
     int res = WaitDebugData(tick);
     *size = buffer_cursor - debug_buffer;
-    *buffer = NULL;
+    *buffer = debug_buffer;
     return res;
 }