summaryrefslogtreecommitdiff
path: root/debug.c
diff options
context:
space:
mode:
authorvenaas <venaas>2007-05-03 13:27:26 +0000
committervenaas <venaas@e88ac4ed-0b26-0410-9574-a7f39faa03bf>2007-05-03 13:27:26 +0000
commitba96d1cc28b9f1a54720bc997b38a9fabf896cdd (patch)
tree60c99efb28bd6c65ec7403c8c8f7b4fc78e0a178 /debug.c
parent0e8a1dffff58983068fb24a71b5a4104834bc7f9 (diff)
debug functions
git-svn-id: https://svn.testnett.uninett.no/radsecproxy/trunk@66 e88ac4ed-0b26-0410-9574-a7f39faa03bf
Diffstat (limited to 'debug.c')
-rw-r--r--debug.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/debug.c b/debug.c
new file mode 100644
index 0000000..f507f50
--- /dev/null
+++ b/debug.c
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2007 Stig Venaas <venaas@uninett.no>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ */
+
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <stdarg.h>
+#include "debug.h"
+
+static uint8_t debug_level = 0;
+
+void debug(uint8_t level, char *format, ...) {
+ extern int errno;
+
+ if (level >= debug_level) {
+ va_list ap;
+ va_start(ap, format);
+ vfprintf(stderr, format, ap);
+ va_end(ap);
+ if (errno) {
+ fprintf(stderr, ": ");
+ perror(NULL);
+ fprintf(stderr, "errno=%d\n", errno);
+ } else
+ fprintf(stderr, "\n");
+ }
+ if (level >= DBG_ERR)
+ exit(1);
+}