fix for new way of saving castling and e.p. information
authorH.G. Muller <h.g.muller@hccnet.nl>
Fri, 6 Nov 2009 16:48:09 +0000 (08:48 -0800)
committerArun Persaud <arun@nubati.net>
Fri, 6 Nov 2009 16:54:26 +0000 (08:54 -0800)
commit941395daf4333598be57255c9b722c7c09b3adf3
tree266a80f8c234fb063a549f2c0f49d60f5bc4a784
parent896f18709307485d6f89e0a60221c0fc2db62b41
fix for new way of saving castling and e.p. information

I forgot to make some conversions to the new-style encoding of castling there
(using the enum constant NoRights instead of -1 to indicate
the absence of rights, which was the price of storing the
rights in the board, which is an unsigned enum type.)

I also was a bit worried about portability, because I casted the enum type ChessSquare
to (int) before comparing it with (possibly negative) constants EP_NONE etc.
Now on my system enum types are (unsigned int), and this works, but I could
imagine there are systems where this would be an unsigned char. (Not sure
if there are rules for this). So to be safe I cast ChessSquare to (signed char),
which should always work to make small negative ints assigned to it read
back as themselves.
backend.c
moves.c