Index: firmware/App/Modes/OperationModes.c =================================================================== diff -u -r026197c08dc426a0a79c9a958d20578d52a9fee3 -rbaec590e57965acc167c510875127addf4ac34dd --- firmware/App/Modes/OperationModes.c (.../OperationModes.c) (revision 026197c08dc426a0a79c9a958d20578d52a9fee3) +++ firmware/App/Modes/OperationModes.c (.../OperationModes.c) (revision baec590e57965acc167c510875127addf4ac34dd) @@ -468,8 +468,10 @@ CONFIRMATION_REQUEST_STATUS_T status = CONFIRMATION_REQUEST_STATUS_PENDING; U32 i; - GENERIC_CONFIRMATION_REQUEST_T cmd = { 0 }; + GENERIC_CONFIRMATION_REQUEST_T cmd; + memset( &cmd, 0, sizeof( GENERIC_CONFIRMATION_REQUEST_T ) ); + for ( i = 0; i < MAX_PENDING_CONFIRM_REQUESTS; i++ ) { if ( confirmRequests[ i ].requestID == requestID ) @@ -566,16 +568,18 @@ U32 i; BOOL confirmAlreadyPending = FALSE; GENERIC_CONFIRM_ID_T newID = GENERIC_CONFIRM_ID_NONE; - GENERIC_CONFIRMATION_REQUEST_T cmd = { 0 }; + GENERIC_CONFIRMATION_REQUEST_T cmd; + memset( &cmd, 0, sizeof( GENERIC_CONFIRMATION_REQUEST_T ) ); + // Check whether this confirmation is already pending for ( i = 0; i < MAX_PENDING_CONFIRM_REQUESTS; i++ ) { if ( ( confirmRequests[ i ].requestID == requestID ) && ( CONFIRMATION_REQUEST_STATUS_UNUSED != confirmRequests[ i ].status ) ) { confirmAlreadyPending = TRUE; - return requestID; + newID = requestID; } } @@ -604,6 +608,7 @@ } } } + return newID; }