*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+# include "config.h"
#endif
#include <stdio.h>
error (status, errnum, message, va_alist)
int status;
int errnum;
- char *message;
+ const char *message;
va_dcl
#endif
{
#ifdef HAVE_VSYSLOG
vsyslog (priority, msg, args);
#else
+ {
+ char *a1 = va_arg(args, char *);
+ char *a2 = va_arg(args, char *);
+ char *a3 = va_arg(args, char *);
+ char *a4 = va_arg(args, char *);
+ char *a5 = va_arg(args, char *);
+ char *a6 = va_arg(args, char *);
+ char *a7 = va_arg(args, char *);
+ char *a8 = va_arg(args, char *);
syslog (priority, msg, a1, a2, a3, a4, a5, a6, a7, a8);
+ }
#endif
}
else
#ifdef HAVE_VSYSLOG
vsyslog (priority, message, args);
#else
+ {
+ char *a1 = va_arg(args, char *);
+ char *a2 = va_arg(args, char *);
+ char *a3 = va_arg(args, char *);
+ char *a4 = va_arg(args, char *);
+ char *a5 = va_arg(args, char *);
+ char *a6 = va_arg(args, char *);
+ char *a7 = va_arg(args, char *);
+ char *a8 = va_arg(args, char *);
syslog (priority, message, a1, a2, a3, a4, a5, a6, a7, a8);
+ }
#endif
}
fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8);
#endif
- if (errnum)
- fprintf (stderr, ": %s", strerror (errnum));
+ if (errnum) {
+ char *tmps = strerror(errnum);
+ if (tmps) {
+ fprintf (stderr, ": %s", tmps);
+ }
+ else {
+ fprintf (stderr, ": Error %d", errnum);
+ }
+ }
putc ('\n', stderr);
fflush (stderr);
}
empty) by calling error_complete().
If an intervening call to error() occurs when a partially constructed
message exists, then, in an attempt to keep the messages in their proper
- sequence, the partial message will be printed as-is (with a trailing newline)
- before error() prints its message.
+ sequence, the partial message will be printed as-is (with a trailing
+ newline) before error() prints its message. */
/* VARARGS */
void
error_build (const char *message, ...)
#else
error_build (message, va_alist)
- char *message;
+ const char *message;
va_dcl
#endif
{
/* Complete an error message by appending MESSAGE, which is a printf-style
format string with optional args, to the existing error message (which may
be empty.) The completed error message is then printed (and reset to
- empty.)
+ empty.) */
/* VARARGS */
void
error_complete (status, errnum, message, va_alist)
int status;
int errnum;
- char *message;
+ const char *message;
va_dcl
#endif
{
int errnum;
const char *file_name;
unsigned int line_number;
- char *message;
+ const char *message;
va_dcl
#endif
{