#include <sys/types.h>
#include <sys/uio.h>
-
+#include "h/done.h"
/* inform calls advertise() with no what and no tail.
* Thus the simple "[invo_name: ]fmt\n" results. */
* straightforward, e.g. longjmp(3), but it must not return to adios().
* If it does then it's a bug and adios() will abort(3) as callers do
* not expect execution to continue. */
-void
+void NORETURN
adios (const char *what, const char *fmt, ...)
{
va_list ap;
}
+/* die is the same as adios(), but without the what as that's commonly
+ * NULL. */
+void NORETURN
+die(const char *fmt, ...)
+{
+ va_list ap;
+
+ va_start(ap, fmt);
+ advertise(NULL, NULL, fmt, ap);
+ va_end(ap);
+ done(1);
+ abort();
+}
+
+
/* admonish calls advertise() with a tail indicating the program
* continues.
* Thus "[invo_name: ]fmt[[ what]: errno], continuing...\n" results. */