if(**p == NULLCHAR) { // make sure there is something to parse
if(fromString) return 0; // we are parsing string, so the end is really the end
- *p = inPtr = inputBuf;
+ *p = inPtr = parseStart = inputBuf;
if(!ReadLine()) return 0; // EOF
} else if(inPtr > inputBuf + PARSEBUFSIZE/2) { // buffer fills up with already parsed stuff
char *q = *p, *r = inputBuf;
if(killX < 0) // [HGM] lion: do not overwrite kill-square suffix
currentMoveString[4] = cl.promoChar;
- if((cl.kind == WhiteCapturesEnPassant || cl.kind == BlackCapturesEnPassant) && (Match("ep", p) || Match("e.p.", p)));
+ if((cl.kind == WhiteCapturesEnPassant || cl.kind == BlackCapturesEnPassant) && !Match("ep", p)) Match("e.p.", p);
return (int) cl.kind;
}