diff -r 7ffd66591afe -r a298c6637c30 src/game.h --- a/src/game.h Fri Mar 28 11:45:01 2014 +0100 +++ b/src/game.h Fri Mar 28 14:32:52 2014 +0100 @@ -78,8 +78,8 @@ } Move; #define POS_UNSPECIFIED UINT8_MAX -#define mdst(b,m) b[m->torow][m->tofile] -#define msrc(b,m) b[m->fromrow][m->fromfile] +#define mdst(b,m) b[(m)->torow][(m)->tofile] +#define msrc(b,m) b[(m)->fromrow][(m)->fromfile] #define isidx(idx) ((uint8_t)idx < 8) @@ -89,8 +89,8 @@ #define rowidx(row) (row-'1') #define fileidx(file) (file-'a') -#define chkidx(move) (isidx(move->fromfile) && isidx(move->fromrow) && \ - isidx(move->tofile) && isidx(move->torow)) +#define chkidx(move) (isidx((move)->fromfile) && isidx((move)->fromrow) && \ + isidx((move)->tofile) && isidx((move)->torow)) /* secure versions - use, if index is not checked with isidx() */ #define fileidx_s(c) (isfile(c)?fileidx(c):POS_UNSPECIFIED)