X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=backend.c;h=face7f14afb24bfb16843b8322025b64785a4bc5;hb=8650c257cc9fcbbe4daaf1f3fff2b87bb53f5c3f;hp=0e36ec2b3452c8272ce08e964a5b2e20099c455b;hpb=cc5c5550e44afbcc5a1952a574c211b80f63ebbd;p=xboard.git diff --git a/backend.c b/backend.c index 0e36ec2..face7f1 100644 --- a/backend.c +++ b/backend.c @@ -4627,11 +4627,6 @@ InitPosition(redraw) break; case VariantTwoKings: pieces = twoKingsArray; - nrCastlingRights = 8; /* add rights for second King */ - castlingRights[0][6] = initialRights[2] = 5; - castlingRights[0][7] = initialRights[5] = 5; - castlingRank[6] = 0; - castlingRank[7] = BOARD_HEIGHT-1; break; case VariantCapaRandom: shuffleOpenings = TRUE; @@ -7832,7 +7827,9 @@ GameEnds(result, resultDetails, whosays) } /* [HGM] bare: don't allow bare King to win */ if((gameInfo.holdingsWidth == 0 || gameInfo.variant == VariantSuper || gameInfo.variant == VariantGreat) - && result != GameIsDrawn) + && gameInfo.variant != VariantLosers && gameInfo.variant != VariantGiveaway + && gameInfo.variant != VariantSuicide // [HGM] losers: except in losers, of course... + && result != GameIsDrawn) { int i, j, k=0, color = (result==WhiteWins ? (int)WhitePawn : (int)BlackPawn); for(j=BOARD_LEFT; joptionSettings, opt->name); - if(p == cps->optionSettings || p[-1] == ',') { + if(cps->optionSettings && cps->optionSettings[0]) + p = strstr(cps->optionSettings, opt->name); else p = NULL; + if(p && (p == cps->optionSettings || p[-1] == ',')) { sprintf(buf, "option %s", p); if(p = strstr(buf, ",")) *p = 0; strcat(buf, "\n");