aboutsummaryrefslogtreecommitdiffstats
path: root/lib/log.cc
blob: 2f7a79550e4018fd51d5bdef761f4b3d4ec480d3 (plain)
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;
}