From eb2a4d3e7c931c4f1cb8d3599dc29c20898a3202 Mon Sep 17 00:00:00 2001 From: Petr Baudis Date: Thu, 18 Nov 2010 01:42:50 +0100 Subject: [PATCH] UCT prior: Fix cfgd levels parsing --- uct/prior.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/uct/prior.c b/uct/prior.c index 4f105a8..92fa3e1 100644 --- a/uct/prior.c +++ b/uct/prior.c @@ -203,13 +203,19 @@ uct_prior_init(char *arg, struct board *b) * of last move => 40 wins, their neighbors * 20 wins, 2nd-level neighbors 20 wins; * neighbors are group-transitive. */ - p->cfgdn = atoi(optval); optval += strcspn(optval, ":"); + p->cfgdn = atoi(optval); optval += strcspn(optval, "%"); p->cfgd_eqex = calloc2(p->cfgdn + 1, sizeof(*p->cfgd_eqex)); p->cfgd_eqex[0] = 0; - for (int i = 1; *optval; i++, optval += strcspn(optval, ":")) { + int i; + for (i = 1; *optval; i++, optval += strcspn(optval, "%")) { optval++; p->cfgd_eqex[i] = atoi(optval); } + if (i != p->cfgdn + 1) { + fprintf(stderr, "uct: Missing prior cfdn level %d/%d\n", i, p->cfgdn); + exit(1); + } + } else if (!strcasecmp(optname, "joseki") && optval) { p->joseki_eqex = atoi(optval); } else if (!strcasecmp(optname, "eye") && optval) { -- 2.11.4.GIT