in pachi_py/goutil.cpp [104:115]
void PlayInPlace(PachiBoardPtr b, const move& m) {
board* pb = b->pachiboard();
if (board_play(pb, const_cast<move*>(&m)) < 0) {
char* tmp = coord2str(m.coord, pb);
std::stringstream ss;
ss << "Illegal move by " << (m.color == S_BLACK ? "black" : "white") << " at " << tmp << ". Current board:\n";
ss << ToString(b);
free(tmp);
throw IllegalMove(ss.str());
}
}