diff -r 7ffd66591afe -r a298c6637c30 src/rules/pawn.c --- a/src/rules/pawn.c Fri Mar 28 11:45:01 2014 +0100 +++ b/src/rules/pawn.c Fri Mar 28 14:32:52 2014 +0100 @@ -28,6 +28,7 @@ */ #include "pawn.h" +#include "rules.h" _Bool pawn_chkrules(Board board, Move *move) { int8_t d = ((move->piece & COLOR_MASK) == WHITE ? -1 : 1); @@ -56,7 +57,7 @@ return mdst(board,move) && !move->capture; } -_Bool pawn_getlocation(Board board, Move *move) { +int pawn_getlocation(Board board, Move *move) { int8_t d = ((move->piece & COLOR_MASK) == WHITE ? -1 : 1); if (move->fromfile == POS_UNSPECIFIED) { @@ -64,7 +65,7 @@ } move->fromrow = move->torow + d; if (move->fromrow > 6) { - return FALSE; + return INVALID_POSITION; } else { /* advanced first move */ if (move->fromrow == (d < 0 ? 2 : 5) && @@ -72,9 +73,9 @@ move->fromrow += d; if (move->fromrow > 6) { - return FALSE; + return INVALID_POSITION; } } } - return TRUE; + return VALID_MOVE_SYNTAX; }