summaryrefslogtreecommitdiffstats
path: root/backgammon
diff options
context:
space:
mode:
authordholland <dholland@NetBSD.org>2012-10-13 19:39:57 +0000
committerdholland <dholland@NetBSD.org>2012-10-13 19:39:57 +0000
commitbca7b3f7765b40e40d616f50ea26a86e9ffec28c (patch)
treefc8673f08ca9c3a408f145418a57f2c8f727681b /backgammon
parent371d9b9cb447894f1345defd1e5dd3eb12827aa6 (diff)
downloadbsdgames-darwin-bca7b3f7765b40e40d616f50ea26a86e9ffec28c.tar.gz
bsdgames-darwin-bca7b3f7765b40e40d616f50ea26a86e9ffec28c.tar.zst
bsdgames-darwin-bca7b3f7765b40e40d616f50ea26a86e9ffec28c.zip
Add strategic assertion, now passes -Wstrict-overflow.
Diffstat (limited to 'backgammon')
-rw-r--r--backgammon/backgammon/move.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/backgammon/backgammon/move.c b/backgammon/backgammon/move.c
index 8a87fa00..116c0fde 100644
--- a/backgammon/backgammon/move.c
+++ b/backgammon/backgammon/move.c
@@ -1,4 +1,4 @@
-/* $NetBSD: move.c,v 1.12 2012/10/13 19:19:38 dholland Exp $ */
+/* $NetBSD: move.c,v 1.13 2012/10/13 19:39:57 dholland Exp $ */
/*
* Copyright (c) 1980, 1993
@@ -34,7 +34,7 @@
#if 0
static char sccsid[] = "@(#)move.c 8.1 (Berkeley) 5/31/93";
#else
-__RCSID("$NetBSD: move.c,v 1.12 2012/10/13 19:19:38 dholland Exp $");
+__RCSID("$NetBSD: move.c,v 1.13 2012/10/13 19:39:57 dholland Exp $");
#endif
#endif /* not lint */
@@ -167,6 +167,14 @@ move(struct move *mm, int okay)
writec('-');
wrint(mm->g[i] = cg[i]);
makmove(mm, i);
+
+ /*
+ * This assertion persuades gcc 4.5 that the loop
+ * doesn't result in signed overflow of i. mvlim
+ * isn't, or at least shouldn't be, changed by makmove
+ * at all.
+ */
+ assert(mm->mvlim >= 0 && mm->mvlim <= 5);
}
writec('.');