> #define bprintf(buf, fmt, ...) \ > do { \ > assert(snprintf(buf, sizeof buf, fmt, __VA_ARGS__) \ > < sizeof buf); \ > } while (0) Anyone using this macro is in for a nasty surprise when they compile with -DNDEBUG.