[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnugo-devel] MAX_ESCAPE
From: |
Paul Pogonyshev |
Subject: |
[gnugo-devel] MAX_ESCAPE |
Date: |
Fri, 6 Jun 2003 23:49:52 -0400 |
User-agent: |
KMail/1.5.9 |
this patch fixes the bug related to access to random eye data
when "MAX_ESCAPE rule" makes gnu go not call owl_estimate_life().
no regression changes.
Paul
Index: engine/owl.c
===================================================================
RCS file: /cvsroot/gnugo/gnugo/engine/owl.c,v
retrieving revision 1.166
diff -u -p -r1.166 owl.c
--- engine/owl.c 4 Jun 2003 19:16:46 -0000 1.166
+++ engine/owl.c 6 Jun 2003 20:34:09 -0000
@@ -2121,6 +2121,16 @@ do_owl_defend(int str, int *move, int *w
}
}
else {
+ /* In this case we don't recompute eyes. However, to avoid accessing
+ * partially-random data left on stack, we copy eye data from the
+ * previous depth level. It must be reasonably close to the actual
+ * state of eyes.
+ */
+ memcpy(owl->my_eye, owl_stack[owl->restore_from].my_eye,
+ sizeof(owl->my_eye));
+ memcpy(owl->half_eye, owl_stack[owl->restore_from].half_eye,
+ sizeof(owl->half_eye));
+
vital_moves[0].pos = 0;
vital_moves[0].value = -1;
set_eyevalue(&probable_eyes, 0, 0, 0, 0);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnugo-devel] MAX_ESCAPE,
Paul Pogonyshev <=