Switched assert to use do while(0)s, fixed files broken by this
Remove comma eating ## trick, isn't C99 compliant