summaryrefslogtreecommitdiffstats
path: root/sysdep
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>1998-12-20 15:24:35 +0100
committerMartin Mares <mj@ucw.cz>1998-12-20 15:24:35 +0100
commit98e87c8628f9b0a0a96bc46879b65a78b756a718 (patch)
treeaba7284ea2e04740fbbff2e8f1fbb878e84e421e /sysdep
parente440395d7d3c503692321e2f6ec4e42bf758acb1 (diff)
downloadbird-98e87c8628f9b0a0a96bc46879b65a78b756a718.tar
bird-98e87c8628f9b0a0a96bc46879b65a78b756a718.zip
Finer grained logging levels:
#define L_DEBUG "\001" /* Debugging messages */ #define L_INFO "\002" /* Informational messages */ #define L_WARN "\003" /* Warnings */ #define L_ERR "\004" /* Errors */ #define L_AUTH "\005" /* Authorization failed etc. */ #define L_FATAL "\006" /* Fatal errors */ #define L_TRACE "\002" /* Protocol tracing */ #define L_INFO "\003" /* Informational messages */ #define L_REMOTE "\004" /* Remote protocol errors */ #define L_WARN "\004" /* Local warnings */ #define L_ERR "\005" /* Local errors */ #define L_AUTH "\006" /* Authorization failed etc. */ #define L_FATAL "\007" /* Fatal errors */ #define L_BUG "\010" /* BIRD bugs */ Introduced bug() which is like die(), but with level L_BUG. Protocols should _never_ call die() as it should be used only during initialization and on irrecoverable catastrophic events like out of memory. Also introduced ASSERT() which behaves like normal assert(), but it calls bug() when assertion fails. When !defined(DEBUGGING), it gets ignored.
Diffstat (limited to 'sysdep')
-rw-r--r--sysdep/unix/log.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/sysdep/unix/log.c b/sysdep/unix/log.c
index 00589a3..5dd7ef7 100644
--- a/sysdep/unix/log.c
+++ b/sysdep/unix/log.c
@@ -107,19 +107,29 @@ log(char *msg, ...)
va_list args;
va_start(args, msg);
- if (*msg >= 1 && *msg <= 6)
+ if (*msg >= 1 && *msg <= 8)
class = *msg++;
vlog(class, msg, args);
va_end(args);
}
void
+bug(char *msg, ...)
+{
+ va_list args;
+
+ va_start(args, msg);
+ vlog(L_BUG[0], msg, args);
+ exit(1);
+}
+
+void
die(char *msg, ...)
{
va_list args;
va_start(args, msg);
- vlog(6, msg, args);
+ vlog(L_FATAL[0], msg, args);
exit(1);
}