MSVC 2003 doesn't support vararg macros