-void c_release (int level, c_complain_t *c, const char *format, ...);
+void c_do_release (int level, c_complain_t *c, const char *format, ...);
+#define c_release(level, c, ...) \
+ do { \
+ if (c_would_release (c)) \
+ c_do_release(level, c, __VA_ARGS__); \
+ } while (0)