1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#include "log.h" logbuf::logbuf(int _level) { ptr = buf; len = 0; level = _level; } int logbuf::overflow(int c) { if (c == '\n') { *ptr++ = '\n'; *ptr = '\0'; syslog(level, buf); ptr = buf; len = 0; return 0; } if ((len + 2) >= sizeof(buf)) return EOF; *ptr++ = c; len++; return 0; }