]> diplodocus.org Git - nmh/blobdiff - sbr/error.c
mhbuildsbr.c: Flip logic, moving goto to then-block; no need for else.
[nmh] / sbr / error.c
index 65055ecd901ba1c93f7b37f17d3ae363e43138a0..96c89f5812ce92b003803cb835ea05f14d354c61 100644 (file)
@@ -1,6 +1,4 @@
-
-/*
- * error.c -- main error handling routines
+/* error.c -- main error handling routines
  *
  * This code is Copyright (c) 2002, by the authors of nmh.  See the
  * COPYRIGHT file in the root directory of the nmh distribution for
  *
  * This code is Copyright (c) 2002, by the authors of nmh.  See the
  * COPYRIGHT file in the root directory of the nmh distribution for
@@ -14,7 +12,7 @@
 
 
 /* inform calls advertise() with no what and no tail.
 
 
 /* inform calls advertise() with no what and no tail.
- * Thus the simple "invo_name: fmt\n" results. */
+ * Thus the simple "[invo_name: ]fmt\n" results. */
 void inform(char *fmt, ...)
 {
     va_list ap;
 void inform(char *fmt, ...)
 {
     va_list ap;
@@ -26,7 +24,8 @@ void inform(char *fmt, ...)
 
 
 /* advise calls advertise() with no tail to print fmt, and perhaps what,
 
 
 /* advise calls advertise() with no tail to print fmt, and perhaps what,
- * to stderr. */
+ * to stderr.
+ * Thus "[invo_name: ]fmt[[ what]: errno]\n" results. */
 void
 advise (const char *what, const char *fmt, ...)
 {
 void
 advise (const char *what, const char *fmt, ...)
 {
@@ -38,13 +37,15 @@ advise (const char *what, const char *fmt, ...)
 }
 
 
 }
 
 
-/* adios calls advertise() with no tail to print fmt, and perhaps what,
- * to stderr, and "ends" the program with an error exit status.  The
- * route to exit is via the done function pointer and may not be
+/* adios is the same as advise(), but then "ends" the program.
+ * It calls advertise() with no tail to print fmt, and perhaps what, to
+ * stderr, and exits the program with an error status.
+ * Thus "[invo_name: ]fmt[[ what]: errno]\n" results.
+ * The route to exit is via the done function pointer and may not be
  * 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. */
  * 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;
 adios (const char *what, const char *fmt, ...)
 {
     va_list ap;
@@ -58,7 +59,8 @@ adios (const char *what, const char *fmt, ...)
 
 
 /* admonish calls advertise() with a tail indicating the program
 
 
 /* admonish calls advertise() with a tail indicating the program
- * continues. */
+ * continues.
+ * Thus "[invo_name: ]fmt[[ what]: errno], continuing...\n" results. */
 void
 admonish (char *what, char *fmt, ...)
 {
 void
 admonish (char *what, char *fmt, ...)
 {
@@ -81,7 +83,7 @@ void
 advertise (const char *what, char *tail, const char *fmt, va_list ap)
 {
     int        eindex = errno;
 advertise (const char *what, char *tail, const char *fmt, va_list ap)
 {
     int        eindex = errno;
-    char buffer[NMH_BUFSIZ], errbuf[NMH_BUFSIZ], *err;
+    char buffer[NMH_BUFSIZ], *err;
     struct iovec iob[10], *iov;
     size_t niov;
 
     struct iovec iob[10], *iov;
     size_t niov;
 
@@ -109,11 +111,6 @@ advertise (const char *what, char *tail, const char *fmt, va_list ap)
        }
         ADD_LITERAL(": ");
         err = strerror(eindex);
        }
         ADD_LITERAL(": ");
         err = strerror(eindex);
-        if (!err) {
-           /* this shouldn't happen, but we'll test for it just in case */
-           snprintf(errbuf, sizeof(errbuf), "Error %d", eindex);
-            err = errbuf;
-       }
         ADD_VAR(err);
     }
     if (tail && *tail) {
         ADD_VAR(err);
     }
     if (tail && *tail) {