aboutsummaryrefslogtreecommitdiffstats
path: root/lib/log.cc
diff options
context:
space:
mode:
authorFritz Elfert <felfert@to.com>2002-07-14 19:08:08 +0000
committerFritz Elfert <felfert@to.com>2002-07-14 19:08:08 +0000
commit28e01b8c6a137a9e98d95689be3d3d72be18d9d7 (patch)
treef011d3dba1f05cc8c08b582ba4b9568d3dfc94af /lib/log.cc
parent838b2558b635d0ec27785e1280904fdea61bc935 (diff)
downloadplptools-28e01b8c6a137a9e98d95689be3d3d72be18d9d7.tar.gz
plptools-28e01b8c6a137a9e98d95689be3d3d72be18d9d7.tar.bz2
plptools-28e01b8c6a137a9e98d95689be3d3d72be18d9d7.zip
- Non-KDE stuff now builds correctly with gcc3
Diffstat (limited to 'lib/log.cc')
-rw-r--r--lib/log.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/log.cc b/lib/log.cc
index 48b07d8..321de6a 100644
--- a/lib/log.cc
+++ b/lib/log.cc
@@ -22,18 +22,24 @@
*
*/
#include "log.h"
+#include <unistd.h>
-logbuf::logbuf(int _level) {
+logbuf::logbuf(int level, int fd) {
ptr = buf;
len = 0;
- level = _level;
+ _on = true;
+ _level = level;
+ _fd = fd;
}
int logbuf::overflow(int c) {
if (c == '\n') {
*ptr++ = '\n';
*ptr = '\0';
- syslog(level, buf);
+ if (_on)
+ syslog(_level, buf);
+ else if (_fd != -1)
+ write(_fd, buf, len + 1);
ptr = buf;
len = 0;
return 0;