debug.[ch]: remove dependancies from bits.h

This commit is contained in:
2023-12-11 14:59:30 +01:00
parent 11d3501a35
commit e0da38e697
2 changed files with 34 additions and 35 deletions

View File

@@ -19,7 +19,6 @@
#include <stdint.h> #include <stdint.h>
#include <br.h> #include <br.h>
#include <bits.h>
#define NANOSEC 1000000000 /* nano sec in sec */ #define NANOSEC 1000000000 /* nano sec in sec */
#define MILLISEC 1000000 /* milli sec in sec */ #define MILLISEC 1000000 /* milli sec in sec */
@@ -28,28 +27,29 @@
#ifdef DEBUG_DEBUG #ifdef DEBUG_DEBUG
void debug_init(uint level, FILE *stream, bool flush); void debug_init(int level, FILE *stream, bool flush);
void debug_level_set(uint level); void debug_level_set(int level);
uint debug_level_get(void); int debug_level_get(void);
void debug_stream_set(FILE *stream); void debug_stream_set(FILE *stream);
long long debug_timer_elapsed(void); long long debug_timer_elapsed(void);
void debug_flush_set(bool flush); void debug_flush_set(bool flush);
void _printf debug(uint level, bool timestamp, void _printf debug(int level, bool timestamp,
uint indent, const char *src, int indent, const char *src,
uint line, const char *fmt, ...); int line, const char *fmt, ...);
#else /* DEBUG_DEBUG */ #else /* DEBUG_DEBUG */
static inline void debug_init(__unused uint level, static inline void debug_init(__unused int level,
__unused FILE *stream, __unused FILE *stream,
_unused bool flush) {} __unused bool flush) {}
static inline void debug_level_set(__unused uint level) {} static inline void debug_level_set(__unused int level) {}
static inline uint debug_level_get(void) {return 0;} static inline int debug_level_get(void) {return 0;}
static inline void debug_stream_set(__unused FILE *stream) {} static inline void debug_stream_set(__unused FILE *stream) {}
static inline long long debug_timer_elapsed(void) {return 0LL}; static inline long long debug_timer_elapsed(void) {return 0LL;}
static inline void debug_flush_set(__unused bool level) {} static inline void debug_flush_set(__unused bool level) {}
static inline void _printf debug(__unused uint level, __unused bool timestamp, static inline void _printf debug(__unused int level, __unused bool timestamp,
__unused uint indent, __unused const char *src, __unused int indent, __unused const char *src,
__unused uint line, __unused const char *fmt, ...) {} __unused int line, __unused const char *fmt, ...) {}
#endif /* DEBUG_DEBUG */ #endif /* DEBUG_DEBUG */

View File

@@ -19,21 +19,20 @@
#define DEBUG_DEBUG #define DEBUG_DEBUG
#endif #endif
#include "bits.h"
#include "debug.h" #include "debug.h"
static long long timer_start; /* in nanosecond */ static long long timer_start; /* in nanosecond */
static uint debug_level = 0; static int level = 0; /* output log when < level */
static bool debug_flush = false; static int flush = false; /* force flush after logs */
static FILE *stream = NULL; static FILE *stream = NULL; /* stream to use */
/** /**
* debug_level_set() - set debug level. * debug_level_set() - set debug level.
* @level: unsigned debug level. * @_level: debug level (integer).
*/ */
void debug_level_set(uint level) void debug_level_set(int _level)
{ {
debug_level = level; level = _level;
# ifdef DEBUG_DEBUG_C # ifdef DEBUG_DEBUG_C
log(0, "debug level set to %u\n", level); log(0, "debug level set to %u\n", level);
# endif # endif
@@ -41,11 +40,11 @@ void debug_level_set(uint level)
/** /**
* debug_level_get() - get debug level. * debug_level_get() - get debug level.
* @return: current level debug (unsigned integer). * @return: current level debug (integer).
*/ */
uint debug_level_get(void) int debug_level_get(void)
{ {
return debug_level; return level;
} }
void debug_stream_set(FILE *_stream) void debug_stream_set(FILE *_stream)
@@ -56,21 +55,21 @@ void debug_stream_set(FILE *_stream)
# endif # endif
} }
void debug_flush_set(bool flush) void debug_flush_set(bool _flush)
{ {
debug_flush = flush; flush = _flush;
# ifdef DEBUG_DEBUG_C # ifdef DEBUG_DEBUG_C
log(0, "debug flush %s.\n", flush? "set": "unset"); log(0, "debug flush %s.\n", flush? "set": "unset");
# endif # endif
} }
void debug_init(uint level, FILE *_stream, bool flush) void debug_init(int _level, FILE *_stream, bool _flush)
{ {
struct timespec timer; struct timespec timer;
debug_stream_set(_stream); debug_stream_set(_stream);
debug_level_set(level); debug_level_set(_level);
debug_flush_set(flush); debug_flush_set(_flush);
if (!clock_gettime(CLOCK_MONOTONIC, &timer)) { if (!clock_gettime(CLOCK_MONOTONIC, &timer)) {
timer_start = timer.tv_sec * NANOSEC + timer.tv_nsec; timer_start = timer.tv_sec * NANOSEC + timer.tv_nsec;
} }
@@ -90,16 +89,16 @@ long long debug_timer_elapsed(void)
/** /**
* debug() - log function * debug() - log function
* @level: log level * @lev: log level
* @timestamp: boolean, print timestamp if true * @timestamp: boolean, print timestamp if true
* @indent: indent level (2 spaces each) * @indent: indent level (2 spaces each)
* @src: source file/func name (or NULL) * @src: source file/func name (or NULL)
* @line: line number * @line: line number
*/ */
void debug(uint level, bool timestamp, uint indent, const char *src, void debug(int lev, bool timestamp, int indent, const char *src,
uint line, const char *fmt, ...) int line, const char *fmt, ...)
{ {
if (!stream || level > debug_level) if (!stream || lev > level)
return; return;
va_list ap; va_list ap;
@@ -122,7 +121,7 @@ void debug(uint level, bool timestamp, uint indent, const char *src,
va_start(ap, fmt); va_start(ap, fmt);
vfprintf(stream, fmt, ap); vfprintf(stream, fmt, ap);
va_end(ap); va_end(ap);
if (debug_flush) if (flush)
fflush(stream); fflush(stream);
} }