On 2014-04-20 14:43 +0200, FRIGN wrote: > However, I don't see any error in the way it was done before noname > suggested changing it.
It's a common practice in C macros to enclose each argument instance with parentheses to avoid most pitfalls. This particular case will most probably be fine without the fix, it's just very annoying to read it because it doesn't conform to that common practice. :) Also, interesting sidenote: most bigger projects also have extra hacks to make sure you cannot pass it a pointer. You can search for discussions around "ARRAY_SIZE" for studying all the reasons for that but probably you'll want to avoid this here to keep things simple. -- Balazs