We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
if (!strncmp((char *)(PillDBPtr - (DATA1 & 0x0F)-(DATA1 >> 4)), drec.bcdRXCheck, (DATA1 >> 4))) Could anyone suggest why the above statement would evaluate to true on the following conditions. PillDBPtr = 0x201F DATA1 = 0x66 drec.bcdRXCheck => 0x00, 0x04, 0x50, 0x51, 0x36, 0x01 Data Locations starting at 0x2010: 00 43 28 00 00 00 00 00 00 30 04 51 36 10 50 66 What appears to be happening is that the equation evaluates the first byte, 0x2003 and bdrec.bcdRXCheck, and discontinues the evalution. Since the first bytes equate it evaluates to true. If I change this byte in either location if evaluates to false. -Please help.
I think you've just illustrated your point about the obfuscated code: it was soooooooooo complicated, you assumed the error must be in there somewhere and missed the "obvious" answer! (I hope that reads OK - it's supposed to be a compliment) "Eschew obfuscation!"