diff -r e01434cfcb9d -r dfc6164e4022 targets/plc_debug.c --- 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; }