Fix classification of variant games
[capablanca.git] / lasker-2.2.3 / src / gamedb.c
index da255dc..c0fa3b3 100644 (file)
@@ -167,12 +167,13 @@ int game_isblitz(int wt, int winc, int bt, int binc,
       return TYPE_KNIGHTMATE;
     if (!strcmp(cat, "capablanca"))
       return TYPE_CAPABLANCA;
-    if (board && board[0]) {
+    if (board && board[0] && strcmp(board, "0")) {
       if (!strcmp(cat, "wild"))
         return TYPE_WILD;
       if (strcmp(cat, "standard") || strcmp(board, "standard"))
         return TYPE_NONSTANDARD;
     }
+    return TYPE_WILD;
   }
 
   if ((wt == 0) || (bt == 0))
@@ -362,6 +363,10 @@ char *EndString(int g, int personal)
     sprintf(endstr, "%s bared",
            game_globals.garray[g].winner == WHITE ? blackguy : whiteguy);
     break;
+  case END_PERPETUAL:
+    sprintf(endstr, "%s perpetually checking",
+           game_globals.garray[g].winner == WHITE ? blackguy : whiteguy);
+    break;
   case END_RESIGN:
     sprintf(endstr, "%s resigned",
            game_globals.garray[g].winner == WHITE ? blackguy : whiteguy);
@@ -442,6 +447,7 @@ const char *EndSym(int g)
        case END_FLAG:
        case END_ADJWIN:
        case END_BARE:
+       case END_PERPETUAL:
                return ((game_globals.garray[g].winner == WHITE) ? symbols[0] : symbols[1]);
                break;
        case END_AGREEDDRAW: