/*
* This routine reports errors and such via stderr and syslog() if
* appopriate. It just helps avoid a lot of "#ifdef SYSLOG" constructs
* from being scattered throughout the code.
*
* The syntax is identical to syslog(3), but %m is not considered special
* for output to stderr (i.e. you'll see "%m" in the output. . .). Also,
* control strings should normally end with \n since newlines aren't
* automatically generated for stderr output (whereas syslog strips out all
* newlines and adds its own at the end).
*/
/*
* Print a log message using syslog(3) and/or stderr.
* The message passed in should not include a newline.
*/
void
report(int priority, const char *fmt,...)
{
va_list ap;
static char buf[128];