Fix rep-draw detection
[capablanca.git] / lasker-2.2.3 / src / gameproc.c
index 8398499..53147a8 100644 (file)
@@ -890,13 +890,14 @@ static int CheckRepetition (int p, int g)
   if (game_globals.garray[g].numHalfMoves < 8)  /* can't have three repeats any quicker. */
     return 0;
 
-  for (move_num = game_globals.garray[g].game_state.lastIrreversable;
+  for (move_num = game_globals.garray[g].game_state.lastIrreversable - 1; // [HGM] FEN stored in moveList[numHalfMoves-1] !
        move_num < game_globals.garray[g].numHalfMoves - 1; move_num++) {
     pos = GetFENpos (g, move_num);
     if (strlen(pos1) == strlen(pos) && !strcmp(pos1, pos))
       flag1++;
     if (strlen(pos2) == strlen(pos) && !strcmp(pos2, pos))
       flag2++;
+printf("%2d. %d-%d %s %s %s\n", move_num, flag1, flag2, pos1,pos2,pos);
   }
   if (flag1 >= 3 || flag2 >= 3) {
     if ((pend = find_pend(pp->opponent, p, PEND_DRAW)) != NULL) {