You made me curious about the "#define" versus "if()". And, I asked myself how you write a define with several lines.
In case someone cares, I found this about those defines:
http://www.coker.com.au/russell/ccode/macros.html