void log_vmessage(int level, int erno, const char* msg, va_list ap) { #define MAX_MSGLEN 1024 char buf[MAX_MSGLEN]; if(daemonized) { if (level >= LOG_DEBUG) return; } else { if(debug_level < level) return; } ASSERT (msg); /* Cleanup the message a little */ strlcpy(buf, msg, MAX_MSGLEN); stretrim(buf); if(erno) { strlcat(buf, ": ", MAX_MSGLEN); strncat(buf, strerror(erno), MAX_MSGLEN); } /* As a precaution */ buf[MAX_MSGLEN - 1] = 0; /* Either to syslog or stderr */ if(daemonized) vsyslog(level, buf, ap); else vwarnx(buf, ap); }
static char* strtrim (char* data) { data = (char*)strbtrim (data); stretrim (data); return data; }