-#define logwrap(fn, pfx, sysloglevel, err, estatus) \
+#define diewrap(fn, pfx, sysloglevel, err, estatus) \
+ static void fn(const char *fmt, ...) \
+ __attribute__((__noreturn__,__format__(printf,1,2))); \
+ static void fn(const char *fmt, ...) { \
+ va_list al; \
+ va_start(al,fmt); \
+ logv(sysloglevel, pfx, err, fmt, al); \
+ exit(estatus); \
+ }
+
+#define logwrap(fn, pfx, sysloglevel, err) \