diff options
author | venaas <venaas> | 2007-05-03 13:27:26 +0000 |
---|---|---|
committer | venaas <venaas@e88ac4ed-0b26-0410-9574-a7f39faa03bf> | 2007-05-03 13:27:26 +0000 |
commit | ba96d1cc28b9f1a54720bc997b38a9fabf896cdd (patch) | |
tree | 60c99efb28bd6c65ec7403c8c8f7b4fc78e0a178 | |
parent | 0e8a1dffff58983068fb24a71b5a4104834bc7f9 (diff) |
debug functions
git-svn-id: https://svn.testnett.uninett.no/radsecproxy/trunk@66 e88ac4ed-0b26-0410-9574-a7f39faa03bf
-rw-r--r-- | debug.c | 35 | ||||
-rw-r--r-- | debug.h | 13 |
2 files changed, 48 insertions, 0 deletions
@@ -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); +} @@ -0,0 +1,13 @@ +/* + * 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. + */ + +#define DBG_INFO 16 +#define DBG_WARN 32 +#define DBG_ERR 64 + +void debug(uint8_t level, char *format, ...); |