Sally (./46) :
Oui c'est ambigu, donc la solution quand c'est ambigu c'est de rajouter des parenthèses
*((short *) FuncPtr)++
Attention quand-même, ce truc est un lvalue cast, ce n'est pas du C standard et ce n'est plus géré par le GCC officiel (mais celui de TIGCC est patché pour le permettre).
Quant aux
goto, ce qui est intéressant, c'est qu'on peut aussi rentrer dans les blocs avec, ce qui permet d'éviter pas mal de répétitions. Cf. par exemple cette fonction (c'est du C++, mais on peut faire la même chose en C):
http://tigcc-linux.cvs.sourceforge.net/viewvc/tigcc-linux/ktigcc/mainform.cpp?revision=1.101&view=markup#l_1372.