diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2008-10-11 20:44:19 +0200 |
---|---|---|
committer | Jelmer Vernooij <jelmer@samba.org> | 2008-10-11 20:44:19 +0200 |
commit | 2c4391e95002404fb2e1d09f97541c1ece1da46f (patch) | |
tree | bf903d374cfffd8bf868e1ac2ac351621b102f05 /source4/lib | |
parent | a85f6634853a4cf825d70e07a789e96e1882f376 (diff) | |
download | samba-2c4391e95002404fb2e1d09f97541c1ece1da46f.tar.gz samba-2c4391e95002404fb2e1d09f97541c1ece1da46f.tar.bz2 samba-2c4391e95002404fb2e1d09f97541c1ece1da46f.zip |
Provide the same set of helper functions for DEBUG in Samba 3 and Samba
4, even though the macros are still different.
This makes it possible to use object code compiled with one DEBUG()
macro from the other sourceX directory.
Diffstat (limited to 'source4/lib')
-rw-r--r-- | source4/lib/smbreadline/smbreadline.c | 2 | ||||
-rw-r--r-- | source4/lib/tdb_wrap.c | 14 | ||||
-rw-r--r-- | source4/lib/util/debug.c | 15 | ||||
-rw-r--r-- | source4/lib/util/debug.h | 9 |
4 files changed, 25 insertions, 15 deletions
diff --git a/source4/lib/smbreadline/smbreadline.c b/source4/lib/smbreadline/smbreadline.c index a85f335b8a..314fe13471 100644 --- a/source4/lib/smbreadline/smbreadline.c +++ b/source4/lib/smbreadline/smbreadline.c @@ -82,7 +82,7 @@ static char *smb_readline_replacement(const char *prompt, void (*callback)(void) int fd = STDIN_FILENO; char *ret; - do_debug("%s", prompt); + printf("%s", prompt); line = (char *)malloc(BUFSIZ); if (!line) { diff --git a/source4/lib/tdb_wrap.c b/source4/lib/tdb_wrap.c index fadf1736dc..4dd2e785c6 100644 --- a/source4/lib/tdb_wrap.c +++ b/source4/lib/tdb_wrap.c @@ -46,7 +46,7 @@ static void tdb_wrap_log(TDB_CONTEXT *tdb, enum tdb_debug_level level, { va_list ap; char *ptr = NULL; - int debug_level; + int dl; va_start(ap, format); vasprintf(&ptr, format, ap); @@ -54,24 +54,24 @@ static void tdb_wrap_log(TDB_CONTEXT *tdb, enum tdb_debug_level level, switch (level) { case TDB_DEBUG_FATAL: - debug_level = 0; + dl = 0; break; case TDB_DEBUG_ERROR: - debug_level = 1; + dl = 1; break; case TDB_DEBUG_WARNING: - debug_level = 2; + dl = 2; break; case TDB_DEBUG_TRACE: - debug_level = 5; + dl = 5; break; default: - debug_level = 0; + dl = 0; } if (ptr != NULL) { const char *name = tdb_name(tdb); - DEBUG(debug_level, ("tdb(%s): %s", name ? name : "unnamed", ptr)); + DEBUG(dl, ("tdb(%s): %s", name ? name : "unnamed", ptr)); free(ptr); } } diff --git a/source4/lib/util/debug.c b/source4/lib/util/debug.c index 00dcbfc8bd..b6edb908c7 100644 --- a/source4/lib/util/debug.c +++ b/source4/lib/util/debug.c @@ -31,7 +31,9 @@ /** * this global variable determines what messages are printed */ -_PUBLIC_ int DEBUGLEVEL; +int _debug_level = 0; +_PUBLIC_ int *debug_level = &_debug_level; +int *DEBUGLEVEL_CLASS = NULL; /* For samba 3 */ /* the registered mutex handlers */ static struct { @@ -89,12 +91,19 @@ static void log_timestring(int level, const char *location, const char *func) the backend for debug messages. Note that the DEBUG() macro has already ensured that the log level has been met before this is called */ -_PUBLIC_ void do_debug_header(int level, const char *location, const char *func) +_PUBLIC_ void dbghdr(int level, const char *location, const char *func) { log_timestring(level, location, func); log_task_id(); } + +_PUBLIC_ void dbghdrclass(int level, int class, const char *location, const char *func) +{ + /* Simple wrapper, Samba 4 doesn't do debug classes */ + dbghdr(level, location, func); +} + /** the backend for debug messages. Note that the DEBUG() macro has already ensured that the log level has been met before this is called @@ -102,7 +111,7 @@ _PUBLIC_ void do_debug_header(int level, const char *location, const char *func) @note You should never have to call this function directly. Call the DEBUG() macro instead. */ -_PUBLIC_ void do_debug(const char *format, ...) +_PUBLIC_ void dbgtext(const char *format, ...) { va_list ap; char *s = NULL; diff --git a/source4/lib/util/debug.h b/source4/lib/util/debug.h index 605628174a..8f4fa2a8fc 100644 --- a/source4/lib/util/debug.h +++ b/source4/lib/util/debug.h @@ -39,6 +39,7 @@ struct debug_ops { void (*log_task_id)(int fd); }; +#define DEBUGLEVEL *debug_level extern int DEBUGLEVEL; #define debug_ctx() (_debug_ctx?_debug_ctx:(_debug_ctx=talloc_new(NULL))) @@ -48,9 +49,9 @@ extern int DEBUGLEVEL; if (DEBUGLVL(level)) { \ void* _debug_ctx=NULL; \ if (header) { \ - do_debug_header(level, __location__, __FUNCTION__); \ + dbghdr(level, __location__, __FUNCTION__); \ } \ - do_debug body; \ + dbgtext body; \ talloc_free(_debug_ctx); \ } \ } while (0) @@ -77,7 +78,7 @@ enum debug_logtype {DEBUG_STDOUT = 0, DEBUG_FILE = 1, DEBUG_STDERR = 2}; the backend for debug messages. Note that the DEBUG() macro has already ensured that the log level has been met before this is called */ -_PUBLIC_ void do_debug_header(int level, const char *location, const char *func); +_PUBLIC_ void dbghdr(int level, const char *location, const char *func); /** reopen the log file (usually called because the log file name might have changed) @@ -125,4 +126,4 @@ _PUBLIC_ void register_debug_handlers(const char *name, struct debug_ops *ops); @note You should never have to call this function directly. Call the DEBUG() macro instead. */ -_PUBLIC_ void do_debug(const char *format, ...) PRINTF_ATTRIBUTE(1,2); +_PUBLIC_ void dbgtext(const char *format, ...) PRINTF_ATTRIBUTE(1,2); |