From: jwalz Date: Sun, 31 Mar 2002 22:42:07 +0000 (+0000) Subject: I recognize that this was an attempt to force the macro to act as a normal X-Git-Tag: MOVE2GIT~2839 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=11856d20b741c2a87d1d039b25e28134ffd03169;p=nethack I recognize that this was an attempt to force the macro to act as a normal statement that could be followed by ';' anywhere. However, with the goto there, my compiler complains every time it's used: "ball.c", line 402: warning: statement not reached "ball.c", line 434: warning: statement not reached "ball.c", line 442: warning: statement not reached "ball.c", line 449: warning: statement not reached "ball.c", line 452: warning: statement not reached "ball.c", line 457: warning: statement not reached "ball.c", line 479: warning: statement not reached "ball.c", line 498: warning: statement not reached None of the current uses care about an excess statement, but is there a way to satisfy both desires? --- diff --git a/src/ball.c b/src/ball.c index 364b3f832..4c0250f17 100644 --- a/src/ball.c +++ b/src/ball.c @@ -390,9 +390,9 @@ boolean *cause_delay; /* Don't ever move the chain into solid rock. If we have to, then instead * undo the move_bc() and jump to the drag ball code. */ -#define SKIP_TO_DRAG do { *chainx = oldchainx; *chainy = oldchainy; \ +#define SKIP_TO_DRAG { *chainx = oldchainx; *chainy = oldchainy; \ move_bc(0, *bc_control, *ballx, *bally, *chainx, *chainy); \ - goto drag; } while(0) + goto drag; } switch(dist2(x, y, uball->ox, uball->oy)) { /* two spaces diagonal from ball, move chain inbetween */ case 8: