1.1 --- a/src/game.h Fri Mar 28 11:45:01 2014 +0100 1.2 +++ b/src/game.h Fri Mar 28 14:32:52 2014 +0100 1.3 @@ -78,8 +78,8 @@ 1.4 } Move; 1.5 1.6 #define POS_UNSPECIFIED UINT8_MAX 1.7 -#define mdst(b,m) b[m->torow][m->tofile] 1.8 -#define msrc(b,m) b[m->fromrow][m->fromfile] 1.9 +#define mdst(b,m) b[(m)->torow][(m)->tofile] 1.10 +#define msrc(b,m) b[(m)->fromrow][(m)->fromfile] 1.11 1.12 #define isidx(idx) ((uint8_t)idx < 8) 1.13 1.14 @@ -89,8 +89,8 @@ 1.15 #define rowidx(row) (row-'1') 1.16 #define fileidx(file) (file-'a') 1.17 1.18 -#define chkidx(move) (isidx(move->fromfile) && isidx(move->fromrow) && \ 1.19 - isidx(move->tofile) && isidx(move->torow)) 1.20 +#define chkidx(move) (isidx((move)->fromfile) && isidx((move)->fromrow) && \ 1.21 + isidx((move)->tofile) && isidx((move)->torow)) 1.22 1.23 /* secure versions - use, if index is not checked with isidx() */ 1.24 #define fileidx_s(c) (isfile(c)?fileidx(c):POS_UNSPECIFIED)