I have the following block of code....
case DEFINE_SYS:
if (process.sysIDlockoutFlag)
{
switch (sysMssg)
{
case MSG1:
mssg[4] = (0xC0);
mssg[5] = *p_Seq;
sysMssg++;
break;
case MSG2:
mssg[4] = (0xA0);
mssg[5] = *(p_Seq + 1);
sysMssg++;
break;
case MSG3:
mssg[4] = (0x90);
mssg[5] = *(p_Seq + 2);
sysMssg++;
break;
case MSG4:
mssg[4] = (0x88);
mssg[5] = *(p_Seq + 3);
sysMssg++;
break;
default :
sysMssg = 0;
currentSwState = 0;
swInfo.multipleSw = F;
swInfo.err = F;
swInfo.twoSec = 0;
memset(swInfo.hits, 0, sizeof(swInfo.hits));
process.mssgPopulatedFlag = F;
Button = NUL;
wakeRadio(F);
break;
}
}
else
swInfo.multipleSw = F;
swInfo.err = F;
swInfo.twoSec = 0;
memset(swInfo.hits, 0, sizeof(swInfo.hits));
Button = NUL;
break;
All indicators are true : DEFINE_SYS, process.sysIDlockoutFlag = -1, mssg[4] and mss[5] populated with correct values, sysMssg = MSG2 , yet I am able to set a break point in the else section and the code stops. Can someone explain? Seems once the case statement reaches a break point it not only breaks out of the switch but also seems to break out of the if condition and decides to run the else portion......