X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=gamelist.c;h=8976164b1f1c5f69d20efa38cb0b6c66d2b33999;hb=0bf664e507241790adc9f419b24be4d1d5963b28;hp=2055e96b0dea186e95fb0d039f6de59587d3e794;hpb=a7f3c4d2662929b7bd35dda2279bf5129a899d58;p=xboard.git diff --git a/gamelist.c b/gamelist.c index 2055e96..8976164 100644 --- a/gamelist.c +++ b/gamelist.c @@ -180,6 +180,7 @@ GameListInitGameInfo (GameInfo *gameInfo) gameInfo->whiteRating = -1; /* unknown */ gameInfo->blackRating = -1; /* unknown */ gameInfo->variant = VariantNormal; + gameInfo->variantName = NULL; gameInfo->outOfBook = NULL; gameInfo->resultDetails = NULL; } @@ -358,6 +359,8 @@ GameListBuild (FILE *f) case GameIsDrawn: case GameUnfinished: if(!currentListGame) break; + if(currentListGame->gameInfo.result == GameUnfinished) + currentListGame->gameInfo.result = cm; // correct result tag with actual result if (currentListGame->gameInfo.resultDetails != NULL) { free(currentListGame->gameInfo.resultDetails); } @@ -437,6 +440,9 @@ ClearGameInfo (GameInfo *gameInfo) if (gameInfo->extraTags != NULL) { free(gameInfo->extraTags); } + if (gameInfo->variantName != NULL) { + free(gameInfo->variantName); + } if (gameInfo->outOfBook != NULL) { free(gameInfo->outOfBook); } @@ -513,6 +519,8 @@ GameListLine (int number, GameInfo * gameInfo) strncpy( buf, gameInfo->timeControl ? gameInfo->timeControl : "?", MAX_FIELD_LEN ); break; case GLT_VARIANT: + strncpy( buf, gameInfo->variantName ? gameInfo->variantName : VariantName(gameInfo->variant), MAX_FIELD_LEN ); +// strncpy( buf, VariantName(gameInfo->variant), MAX_FIELD_LEN ); break; case GLT_OUT_OF_BOOK: strncpy( buf, gameInfo->outOfBook ? gameInfo->outOfBook : "?", MAX_FIELD_LEN );