When a UCI engine is set thinking in a checkmated position, the PV
necessarily is empty, and instead of printing an empty 'pv' field in
as pv info, it might omit it alltogether. So we even accept a 'mate 0'
score when there is no PV, so that a following 'bestmove 0000' will
be interpreted as a loss (sending 'resign'), rather than a draw
(sending 1/2-1/2).
if(p = strstr(line+4, " currmovenumber ")) sscanf(p+16,"%d", &currNr);\r
if(pv = strstr(line+4, " pv ")) // convert PV info to WB thinking output\r
printf("%3d %6d %6d %10d %s", lastDepth=d, lastScore=s, t, n, Convert(pv+4));\r
+ else if(s == -100000) lastScore = s; // when checkmated score is valid even without PV (which might not come)\r
}\r
}\r
else if(!strcmp(command, "option")) { // USI option: extract data fields\r