\r
#ifdef FLEX_SCANNER\r
/* This is flex */\r
+/* [AP] use prototypes in function declarations */\r
+#define YY_USE_PROTOS\r
+\r
+#ifdef YY_USE_PROTOS\r
+#define YY_PROTO(proto) proto\r
+#else\r
+#define YY_PROTO(proto) ()\r
+#endif\r
+/* end of [AP] fix */\r
+\r
#undef YY_INPUT\r
#define YY_INPUT(buf, result, max_size) my_yy_input(buf, &result, max_size)\r
#undef YY_DECL\r
result == WhitePromotionQueen || result == BlackPromotionQueen)) {\r
if(gameInfo.variant == VariantShatranj || gameInfo.variant == VariantCourier)\r
currentMoveString[4] = PieceToChar(BlackFerz);\r
+ else if(gameInfo.variant == VariantGreat)\r
+ currentMoveString[4] = PieceToChar(BlackMan);\r
else\r
currentMoveString[4] = PieceToChar(BlackQueen);\r
currentMoveString[5] = NULLCHAR;\r
\r
if (gameInfo.variant == VariantXiangqi && /* [HGM] In Xiangqi rank stays same */\r
currentMoveString[0] != currentMoveString[2] ) {\r
- if (yytext[2+skip] == ONE) return (int) ImpossibleMove;\r
currentMoveString[1] = yytext[2+skip];\r
} else \r
if (WhiteOnMove(yyboardindex)) {\r
(result == WhitePromotionQueen || result == BlackPromotionQueen ||\r
result == WhitePromotionKnight || result == BlackPromotionKnight)) {\r
currentMoveString[4] = PieceToChar(BlackQueen);\r
+ // [HGM] shatranj: take care of variants without Queen\r
+ if(gameInfo.variant == VariantShatranj || gameInfo.variant == VariantCourier)\r
+ currentMoveString[4] = PieceToChar(BlackFerz);\r
+ if(gameInfo.variant == VariantGreat)\r
+ currentMoveString[4] = PieceToChar(BlackMan);\r
currentMoveString[5] = NULLCHAR;\r
}\r
\r
*/\r
int yyoffset()\r
{\r
- int pos = yy_c_buf_p - yy_current_buffer->yy_ch_buf;\r
+ int pos = yy_c_buf_p - YY_CURRENT_BUFFER->yy_ch_buf;\r
\r
- return(ftell(yy_current_buffer->yy_input_file) -\r
+ return(ftell(YY_CURRENT_BUFFER->yy_input_file) -\r
yy_n_chars + pos);\r
}\r
\r