summaryrefslogtreecommitdiff
path: root/src/libstrongswan/debug.c
diff options
context:
space:
mode:
authorRene Mayrhofer <rene@mayrhofer.eu.org>2010-02-23 10:34:14 +0000
committerRene Mayrhofer <rene@mayrhofer.eu.org>2010-02-23 10:34:14 +0000
commited7d79f96177044949744da10f4431c1d6242241 (patch)
tree3aabaa55ed3b5291daef891cfee9befb5235e2b8 /src/libstrongswan/debug.c
parent7410d3c6d6a9a1cd7aa55083c938946af6ff9498 (diff)
downloadvyos-strongswan-ed7d79f96177044949744da10f4431c1d6242241.tar.gz
vyos-strongswan-ed7d79f96177044949744da10f4431c1d6242241.zip
[svn-upgrade] Integrating new upstream version, strongswan (4.3.6)
Diffstat (limited to 'src/libstrongswan/debug.c')
-rw-r--r--src/libstrongswan/debug.c43
1 files changed, 38 insertions, 5 deletions
diff --git a/src/libstrongswan/debug.c b/src/libstrongswan/debug.c
index b4a84cf76..51b7875d8 100644
--- a/src/libstrongswan/debug.c
+++ b/src/libstrongswan/debug.c
@@ -14,24 +14,57 @@
*/
#include <stdarg.h>
-#include <stdio.h>
#include "debug.h"
/**
+ * level logged by the default logger
+ */
+static int default_level = 1;
+
+/**
+ * stream logged to by the default logger
+ */
+static FILE *default_stream = NULL;
+
+/**
* default dbg function which printf all to stderr
*/
void dbg_default(int level, char *fmt, ...)
{
- if (level <= 1)
+ if (!default_stream)
+ {
+ default_stream = stderr;
+ }
+ if (level <= default_level)
{
va_list args;
-
+
va_start(args, fmt);
- vfprintf(stderr, fmt, args);
- fprintf(stderr, "\n");
+ vfprintf(default_stream, fmt, args);
+ fprintf(default_stream, "\n");
va_end(args);
}
}
+/**
+ * set the level logged by the default stderr logger
+ */
+void dbg_default_set_level(int level)
+{
+ default_level = level;
+}
+
+/**
+ * set the stream logged by dbg_default() to
+ */
+void dbg_default_set_stream(FILE *stream)
+{
+ default_stream = stream;
+}
+
+/**
+ * The registered debug hook.
+ */
void (*dbg) (int level, char *fmt, ...) = dbg_default;
+