]> diplodocus.org Git - nmh/blobdiff - sbr/error.c
Replace getcpy() with mh_xstrdup() where the string isn't NULL.
[nmh] / sbr / error.c
index fd74d270a2e89200a8674d23cf603a380aa7dc75..c23c3dfa3072cb996757bb6a7f140714447c65ea 100644 (file)
@@ -17,7 +17,7 @@
  * print out error message
  */
 void
-advise (char *what, char *fmt, ...)
+advise (const char *what, const char *fmt, ...)
 {
     va_list ap;
 
@@ -31,7 +31,7 @@ advise (char *what, char *fmt, ...)
  * print out error message and exit
  */
 void
-adios (char *what, char *fmt, ...)
+adios (const char *what, const char *fmt, ...)
 {
     va_list ap;
 
@@ -60,7 +60,7 @@ admonish (char *what, char *fmt, ...)
  * main routine for printing error messages.
  */
 void
-advertise (char *what, char *tail, char *fmt, va_list ap)
+advertise (const char *what, char *tail, const char *fmt, va_list ap)
 {
     int        eindex = errno;
     char buffer[BUFSIZ], err[BUFSIZ];
@@ -85,7 +85,7 @@ advertise (char *what, char *tail, char *fmt, va_list ap)
        if (*what) {
            iov->iov_len = strlen (iov->iov_base = " ");
            iov++;
-           iov->iov_len = strlen (iov->iov_base = what);
+           iov->iov_len = strlen (iov->iov_base = (void*)what);
            iov++;
            iov->iov_len = strlen (iov->iov_base = ": ");
            iov++;
@@ -106,5 +106,7 @@ advertise (char *what, char *tail, char *fmt, va_list ap)
     }
     iov->iov_len = strlen (iov->iov_base = "\n");
     iov++;
-    writev (fileno (stderr), iob, iov - iob);
+    if (writev (fileno (stderr), iob, iov - iob) < 0) {
+       advise ("stderr", "writev");
+    }
 }