summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2008-10-11 20:44:19 +0200
committerJelmer Vernooij <jelmer@samba.org>2008-10-11 20:44:19 +0200
commit2c4391e95002404fb2e1d09f97541c1ece1da46f (patch)
treebf903d374cfffd8bf868e1ac2ac351621b102f05 /source4
parenta85f6634853a4cf825d70e07a789e96e1882f376 (diff)
downloadsamba-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')
-rw-r--r--source4/auth/gensec/cyrus_sasl.c22
-rw-r--r--source4/lib/smbreadline/smbreadline.c2
-rw-r--r--source4/lib/tdb_wrap.c14
-rw-r--r--source4/lib/util/debug.c15
-rw-r--r--source4/lib/util/debug.h9
5 files changed, 36 insertions, 26 deletions
diff --git a/source4/auth/gensec/cyrus_sasl.c b/source4/auth/gensec/cyrus_sasl.c
index 6f82de82fc..e8918ef66d 100644
--- a/source4/auth/gensec/cyrus_sasl.c
+++ b/source4/auth/gensec/cyrus_sasl.c
@@ -323,39 +323,39 @@ int gensec_sasl_log(void *context,
int sasl_log_level,
const char *message)
{
- int debug_level;
+ int dl;
switch (sasl_log_level) {
case SASL_LOG_NONE:
- debug_level = 0;
+ dl = 0;
break;
case SASL_LOG_ERR:
- debug_level = 1;
+ dl = 1;
break;
case SASL_LOG_FAIL:
- debug_level = 2;
+ dl = 2;
break;
case SASL_LOG_WARN:
- debug_level = 3;
+ dl = 3;
break;
case SASL_LOG_NOTE:
- debug_level = 5;
+ dl = 5;
break;
case SASL_LOG_DEBUG:
- debug_level = 10;
+ dl = 10;
break;
case SASL_LOG_TRACE:
- debug_level = 11;
+ dl = 11;
break;
#if DEBUG_PASSWORD
case SASL_LOG_PASS:
- debug_level = 100;
+ dl = 100;
break;
#endif
default:
- debug_level = 0;
+ dl = 0;
break;
}
- DEBUG(debug_level, ("gensec_sasl: %s\n", message));
+ DEBUG(dl, ("gensec_sasl: %s\n", message));
return SASL_OK;
}
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);