The '+' sign in FENs was considered a digit, and thus did not have the
intended effect.
while(*fen) { // parse board-field of FEN
if(*fen == ' ' || *fen == '[') break;
if(*fen == '/') sqr = 22*(sqr/22) - 22; else // skip to (start of) next rank
- if(*fen <= '9') {
+ if(*fen <= '9' && *fen >= '0') {
int n = atoi(fen); sqr += n; fen += (n > 9); // skip given number of squares (and second digit of 10 or 11)
} else {
int color, prom, n;