From: H.G. Muller <h.g.muller@hccnet.nl>
Date: Mon, 3 Sep 2012 10:21:42 +0000 (+0200)
Subject: Check for validity of category/board when placing seek ad
X-Git-Url: http://winboard.nl/cgi-bin?a=commitdiff_plain;h=7d037802a9d8567fd720a8b14b2345e5a3dbe947;p=capablanca.git

Check for validity of category/board when placing seek ad

Code was copied for this from the match command
---

diff --git a/lasker-2.2.3/src/seekproc.c b/lasker-2.2.3/src/seekproc.c
index 399dfbe..43ffe66 100644
--- a/lasker-2.2.3/src/seekproc.c
+++ b/lasker-2.2.3/src/seekproc.c
@@ -78,6 +78,22 @@ int com_seek(int p, param_list param)
 	      return COM_OK; /* couldn't parse */
 	}
 
+    if (category[0]) {
+      if (!board[0] && strcmp(category,"bughouse")) {
+        pprintf(p, "You must specify a board and a category.\n");
+        return COM_OK;
+
+      } else if (board[0]) { /* not bughouse */
+        char fname[MAX_FILENAME_SIZE];
+
+        sprintf(fname, "%s/%s/%s", BOARD_DIR, category, board);
+        if (!file_exists(fname)) {
+          pprintf(p, "No such category/board: %s/%s\n", category, board);
+          return COM_OK;
+        }
+      }
+    }
+
 	seek_globals.ads[num].status = SEEKCLOSED; // params are valid; create ad
 
 	if(wt < 0) wt = pp->d_time; if(bt < 0) bt = wt;