var i, flag;
if (white_frc_columns !== null) {
for (i = 0; i < white_frc_columns.length; ++i) {
- var sq = SQUARES.a1 + (white_frc_columns[0].charCodeAt(0) - "A".charCodeAt(0));
+ var sq = SQUARES.a1 + (white_frc_columns[i].charCodeAt(0) - "A".charCodeAt(0));
flag = sq < kings[WHITE] ? BITS.QSIDE_CASTLE : BITS.KSIDE_CASTLE;
castling.w |= flag;
rooks[WHITE].push({square: sq, flag: flag});
var black_frc_columns = tokens[2].match(/[a-h]/g);
if (black_frc_columns !== null) {
for (i = 0; i < black_frc_columns.length; ++i) {
- var sq = SQUARES.a1 + (black_frc_columns[0].charCodeAt(0) - "A".charCodeAt(0));
+ var sq = SQUARES.a8 + (black_frc_columns[i].charCodeAt(0) - "a".charCodeAt(0));
flag = sq < kings[BLACK] ? BITS.QSIDE_CASTLE : BITS.KSIDE_CASTLE;
castling.b |= flag;
rooks[BLACK].push({square: sq, flag: flag});