In Reporter::reportPosition(),

boardLineBeginning = boardIt + 1;
reportLineBeginning = reportIt + 1;

crashes my debug build, since the "+ 1" is meant to skip the '\n' character, 
but the report doesn't have a '\n' at the very end.

This change seems to fix it for me:

      // skip '\n'
      if ( boardIt != boardEnd )
                   boardLineBeginning = boardIt + 1;
      
      // skip '\n'
      if ( reportIt != reportEnd )
                   reportLineBeginning = reportIt + 1;




Also...  When I ask "Championship Player" for a full report, I get a crash.  I 
changed this code:

void Simulator::moveConsideredMovesToBeginning(MoveList &moves) const
{
        for (MoveList::const_iterator consideredIt = m_consideredMoves.begin(); 
consideredIt != m_consideredMoves.end(); ++consideredIt)
        {
                for (int i = 0; i < (int) moves.size(); ++i)
                {
                        if (*consideredIt == moves[i])
                        {
                                moves.erase(moves.begin()+i);
                                moves.insert(moves.begin(), *consideredIt);
                        }
                }
        }
}

FWIW, I'm using Windows XP

Tom Sirgedas

Reply via email to