Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Jan 1999 16:03:25 +1100
From:      Bruce Evans <bde@zeta.org.au>
To:        dillon@apollo.backplane.com, jdp@polstra.com
Cc:        current@FreeBSD.ORG
Subject:   Re: btokup() macro in sys/malloc.h
Message-ID:  <199901280503.QAA05872@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>>     Is this parenthesization correct ?
>> 
>>     OLD
>> 
>> #define btokup(addr)    (&kmemusage[(caddr_t)(addr) - kmembase >> PAGE_SHIFT])
>> 
>>     NEW
>> 
>> #define btokup(addr)    (&kmemusage[((caddr_t)(addr) - kmembase) >> PAGE_SHIFT])

Yes.  It is the same as before the "cleanup" in rev.1.13.

>The added parentheses don't make any difference, semantically.  This
>change probably wouldn't meet the criteria spelled out in style(9):
>
>     Unary operators don't require spaces, binary operators do. Don't use
>     parentheses unless they're required for precedence, or the statement is
>     really confusing without them.
>
>             a = b->c[0] + ~d == (e || f) || g && h ? i : j >> 1;
>             k = !(l & FLAGS);

Nah, style(9), not to mention the example of btokup() in Lite1 and Lite2,
requires paretheses here (in btokup(), and probably in the bad example in
style(9), because the expression would be really confusing without them :-).

Bruce

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199901280503.QAA05872>