X-Git-Url: http://winboard.nl/cgi-bin?p=capablanca.git;a=blobdiff_plain;f=lasker-2.2.3%2Fsrc%2Fseekproc.c;h=43ffe669c316208f0de7388ce0381d94fe2f9c17;hp=8a1b9f61c4e732c3dd034b2252385e29a61cbd0d;hb=7d037802a9d8567fd720a8b14b2345e5a3dbe947;hpb=76a192175f31fcb85ba99e354916dd78b9e5850e diff --git a/lasker-2.2.3/src/seekproc.c b/lasker-2.2.3/src/seekproc.c index 8a1b9f6..43ffe66 100644 --- a/lasker-2.2.3/src/seekproc.c +++ b/lasker-2.2.3/src/seekproc.c @@ -65,7 +65,6 @@ int com_seek(int p, param_list param) pprintf(p, "ERROR: Sorry, all available slots for seek are closed.\n"); return COM_OK; } - seek_globals.ads[num].status = SEEKCLOSED; seek_globals.ads[num].whofrom = p; #if 1 @@ -78,6 +77,25 @@ int com_seek(int p, param_list param) board,param[0].val.string)) 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; if(winc < 0) winc = pp->d_inc; if(binc < 0) binc = bt; seek_globals.ads[num].wtime = wt; @@ -100,6 +118,8 @@ int com_seek(int p, param_list param) seek_globals.ads[num].seek_color = random() % 2; #else + seek_globals.ads[num].status = SEEKCLOSED; + if (param[0].type == TYPE_INT) seek_globals.ads[num].wtime = param[0].val.integer; /* White time */ else @@ -224,7 +244,7 @@ void withdraw_seeks(int p) continue; pprintf_prompt(p1, "AD_DESTROY: %d\n", i); } - pprintf(p, "AD_DESTROY: %d\n", i); + pprintf(p, "Ads removed: %d\n", i); FREE(seek_globals.ads[i].category); FREE(seek_globals.ads[i].board_type); }