-
- switch(logmode) {
- case LOGMODE_STDERR:
- vfprintf(stderr, format, ap);
- fprintf(stderr, "\n");
- fflush(stderr);
- break;
- case LOGMODE_FILE:
- fprintf(logfile, "%ld %s[%d]: ", time(NULL), logident, logpid);
- vfprintf(logfile, format, ap);
- fprintf(logfile, "\n");
- break;
- case LOGMODE_SYSLOG:
-#ifdef HAVE_SYSLOG_H
-#ifdef HAVE_VSYSLOG
- vsyslog(priority, format, ap);
-#else
- {
- char message[4096];
- vsnprintf(message, sizeof(message), format, ap);
- syslog(priority, "%s", message);
- }
-#endif
- break;
-#endif
- case LOGMODE_NULL:
- break;
- }
-
+ int len = vsnprintf(message, sizeof message, format, ap);