summaryrefslogtreecommitdiffstats
path: root/source/lib/ldb/common/ldb_debug.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-10-12 06:10:23 +0000
committerAndrew Tridgell <tridge@samba.org>2005-10-12 06:10:23 +0000
commit1ff8a15849323c3d86606193c2587b93efa38cd3 (patch)
treee253592d789c33c12692765fcf249b1094126f6e /source/lib/ldb/common/ldb_debug.c
parent3612d2056fb3eb8bd95801d58f45dfca51e5f5dc (diff)
downloadsamba-1ff8a15849323c3d86606193c2587b93efa38cd3.tar.gz
samba-1ff8a15849323c3d86606193c2587b93efa38cd3.tar.xz
samba-1ff8a15849323c3d86606193c2587b93efa38cd3.zip
r10913: This patch isn't as big as it looks ...
most of the changes are fixes to make all the ldb code compile without warnings on gcc4. Unfortunately That required a lot of casts :-( I have also added the start of an 'operational' module, which will replace the timestamp module, plus add support for some other operational attributes In ldb_msg_*() I added some new utility functions to make the operational module sane, and remove the 'ldb' argument from the ldb_msg_add_*() functions. That argument was only needed back in the early days of ldb when we didn't use the hierarchical talloc and thus needed a place to get the allocation function from. Now its just a pain to pass around everywhere. Also added a ldb_debug_set() function that calls ldb_debug() plus sets the result using ldb_set_errstring(). That saves on some awkward coding in a few places.
Diffstat (limited to 'source/lib/ldb/common/ldb_debug.c')
-rw-r--r--source/lib/ldb/common/ldb_debug.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/source/lib/ldb/common/ldb_debug.c b/source/lib/ldb/common/ldb_debug.c
index 59f00ccc966..d046c8cd1f9 100644
--- a/source/lib/ldb/common/ldb_debug.c
+++ b/source/lib/ldb/common/ldb_debug.c
@@ -86,3 +86,21 @@ void ldb_debug(struct ldb_context *ldb, enum ldb_debug_level level, const char *
va_end(ap);
}
+
+/*
+ log a message, and set the ldb error string to the same message
+*/
+void ldb_debug_set(struct ldb_context *ldb, enum ldb_debug_level level,
+ const char *fmt, ...)
+{
+ va_list ap;
+ char *msg;
+ va_start(ap, fmt);
+ msg = talloc_vasprintf(ldb, fmt, ap);
+ va_end(ap);
+ if (msg != NULL) {
+ ldb_set_errstring(ldb->modules, msg);
+ ldb_debug(ldb, level, "%s", msg);
+ }
+}
+