> I would agree with your assessment, but the other part that I cannot > figure, > is why have a switch statement? It does nothing except fall straight > through > to the default case. Actually, just like any other switch statement, it does do an jump to the numbered cases. Syntactically, a switch statement is defined as: switch ( ) Under normal circumstances is a compound statement (i.e.): { ; .... } But it works just as well if is replaced by something like a : default: if (lala) case x: case y: do_something(); else case z: do_something_else(); or a or even a null statement!: switch () ; which of course is exactly the same as ; In all these cases the compiler is supposed to generate code to go to the case label that matches the , if there is one, or to the default: label if there is no match, or to the end of the if there is no match and there is no default: label. Funny stuff indeed. Bob Ammerman RAm Systems -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist