[U-Boot] inconsistent use of semi-colons when invoking macros

just noticed this in lib/bzip2/bzlib_decompress.c (around line 240):
... snip ... switch (s->state) {
GET_UCHAR(BZ_X_MAGIC_1, uc); if (uc != BZ_HDR_B) RETURN(BZ_DATA_ERROR_MAGIC);
GET_UCHAR(BZ_X_MAGIC_2, uc); if (uc != BZ_HDR_Z) RETURN(BZ_DATA_ERROR_MAGIC);
GET_UCHAR(BZ_X_MAGIC_3, uc) <------- if (uc != BZ_HDR_h) RETURN(BZ_DATA_ERROR_MAGIC);
GET_BITS(BZ_X_MAGIC_4, s->blockSize100k, 8) <------- ... snip ...
note the lack of terminating semi-colon on a couple of those macro invocations. now, given those macro definitions in the same file:
#define GET_BITS(lll,vvv,nnn) \ case lll: s->state = lll; \ while (True) { \ if (s->bsLive >= nnn) { \ UInt32 v; \ v = (s->bsBuff >> \ (s->bsLive-nnn)) & ((1 << nnn)-1); \ s->bsLive -= nnn; \ vvv = v; \ break; \ } \ if (s->strm->avail_in == 0) RETURN(BZ_OK); \ s->bsBuff \ = (s->bsBuff << 8) | \ ((UInt32) \ (*((UChar*)(s->strm->next_in)))); \ s->bsLive += 8; \ s->strm->next_in++; \ s->strm->avail_in--; \ s->strm->total_in_lo32++; \ if (s->strm->total_in_lo32 == 0) \ s->strm->total_in_hi32++; \ }
#define GET_UCHAR(lll,uuu) \ GET_BITS(lll,uuu,8)
it turns out those semi-colons are unnecessary but, still, it would be stylistically nice to be consistent. is there a coding standard in cases where a macro invocation doesn't need a terminating semi-colon?
rday
participants (1)
-
Robert P. J. Day