[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [gnugo-devel] a bug
From: |
Paul Pogonyshev |
Subject: |
Re: [gnugo-devel] a bug |
Date: |
Sun, 11 Jan 2004 22:16:19 +0000 |
User-agent: |
KMail/1.5.94 |
Wolfgang wrote:
> [skipped]
>
> ***assertion failure:
> board.c:964 - pos == PASS_MOVE || board[pos] == EMPTY near C5***
>
> it seems to me the reason is that in a sgf sequence:
>
> ;A;B(;C
>
> the parent of C comes out as A and it should be B.
>
> you are alright, since you never use SGFNode *parent
>
> (except in goto ...)
>
> i can write a fudge around that, but i guess one should really fix that
Well, it seems the following thingie should do the trick, though i admit
i haven't tested it, because i'm running regressions right now.
Paul
--- sgfnode.c.~1.24.~ 2003-07-18 18:59:22.000000000 +0000
+++ sgfnode.c 2004-01-11 22:14:30.000000000 +0000
@@ -1049,7 +1049,7 @@ gametree(SGFNode **p, SGFNode *parent, i
last = sequence(head);
p = &last->child;
while (lookahead == '(') {
- gametree(p, last->parent, STRICT_SGF);
+ gametree(p, last, STRICT_SGF);
p = &((*p)->next);
}
if (mode == STRICT_SGF)
@@ -1105,7 +1105,7 @@ gametreefuseki(SGFNode **p, SGFNode *par
break;
}
else {
- gametreefuseki(p, last->parent, mode, moves_per_game, i);
+ gametreefuseki(p, last, mode, moves_per_game, i);
p = &((*p)->next);
}
}