r18831: minor build changes for samba3. The logging changes will be removed
authorAndrew Tridgell <tridge@samba.org>
Fri, 22 Sep 2006 23:22:39 +0000 (23:22 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:19:15 +0000 (14:19 -0500)
when the tdb api is updated
(This used to be commit 6ace943fac101839e35cbc83dc54fde2068f704b)

source4/lib/ldb/common/ldb_modules.c
source4/lib/ldb/include/dlinklist.h
source4/lib/ldb/include/includes.h
source4/lib/ldb/ldb_tdb/ldb_tdb.h
source4/lib/ldb/ldb_tdb/ldb_tdb_wrap.c

index 054a830bfbfa18a1012abe16fa2618d94a8375c8..06a8a4bcf654a72b3b85bc36fe59109075332ec9 100644 (file)
@@ -36,7 +36,7 @@
 #include "includes.h"
 #include "ldb/include/includes.h"
 
-#ifdef _SAMBA_BUILD_
+#if (_SAMBA_BUILD_ >= 4)
 #include "build.h"
 #include "dynconfig.h"
 #endif
index 176c138aafa6ac4c6298c337045fb4f4a9e31e26..3779a4cc61cd8c0bb343375d5c8cec0321d2efea 100644 (file)
@@ -37,6 +37,7 @@ do { \
 } while (0)
 
 /* remove an element from a list - element doesn't have to be in list. */
+#ifndef DLIST_REMOVE
 #define DLIST_REMOVE(list, p) \
 do { \
        if ((p) == (list)) { \
@@ -48,6 +49,7 @@ do { \
        } \
        if ((p) && ((p) != (list))) (p)->next = (p)->prev = NULL; \
 } while (0)
+#endif
 
 /* promote an element to the top of the list */
 #define DLIST_PROMOTE(list, p) \
index 800ffdf568282931525d181a158cb94ab56f2907..ce0d40e101028f817eccfdb8f0ebe8093b633354 100644 (file)
@@ -4,11 +4,20 @@
   a temporary includes file until I work on the ldb build system
 */
 
-#ifdef _SAMBA_BUILD_
+#if (_SAMBA_BUILD_ >= 4)
 /* tell ldb we have the internal ldap code */
 #define HAVE_ILDAP 1
 #endif
 
+#if (_SAMBA_BUILD_ <= 3)
+/* allow forbidden string functions - should be replaced with _m functions */
+#undef strcasecmp
+#undef strncasecmp
+#define dyn_MODULESDIR dyn_LIBDIR
+#endif
+
+
+
 #define discard_const(ptr) ((void *)((intptr_t)(ptr)))
 #define discard_const_p(type, ptr) ((type *)discard_const(ptr))
 
index 7b98b9ddeeced521e2b5138d58a6ca264a5c8e74..670d3b680198150b8f513c4f9ecab62f83120ef6 100644 (file)
@@ -1,7 +1,12 @@
 
 #ifdef _SAMBA_BUILD_
 #include "system/filesys.h"
+#endif
+
+#if (_SAMBA_BUILD_ >= 4)
 #include "lib/tdb/include/tdb.h"
+#elif defined(_SAMBA_BUILD_)
+#include "tdb/include/tdb.h"
 #else
 #include "tdb.h"
 #endif
index df9cac13079bb1a76d3fd417b41b25b7dec75675..7f81949fdc910a107582d61f6cf286574b909e87 100644 (file)
@@ -58,6 +58,7 @@ static int ltdb_wrap_destructor(struct ltdb_wrap *w)
        return 0;
 }                               
 
+#if (_SAMBA_BUILD_ >= 4)
 static void ltdb_log_fn(struct tdb_context *tdb, enum tdb_debug_level level, const char *fmt, ...) PRINTF_ATTRIBUTE(3, 4);
 static void ltdb_log_fn(struct tdb_context *tdb, enum tdb_debug_level level, const char *fmt, ...)
 {
@@ -90,7 +91,22 @@ static void ltdb_log_fn(struct tdb_context *tdb, enum tdb_debug_level level, con
        ldb_debug(ldb, ldb_level, "ltdb: tdb(%s): %s", name, message);
        talloc_free(message);
 }
-
+#else
+static void ltdb_log_fn(struct tdb_context *tdb, int level, const char *fmt, ...) PRINTF_ATTRIBUTE(3, 4);
+static void ltdb_log_fn(struct tdb_context *tdb, int level, const char *fmt, ...)
+{
+       /* until we merge the tdb debug changes into samba3, we don't know 
+          how serious the error is, and we can't go via the ldb loggin code */
+       va_list ap;
+       const char *name = tdb_name(tdb);
+       char *message; 
+       va_start(ap, fmt);
+       message = talloc_vasprintf(NULL, fmt, ap);
+       va_end(ap);
+       DEBUG(3, ("ltdb: tdb(%s): %s", name, message));
+       talloc_free(message);
+}
+#endif
 
 /*
   wrapped connection to a tdb database. The caller should _not_ free
@@ -106,9 +122,14 @@ struct tdb_context *ltdb_wrap_open(TALLOC_CTX *mem_ctx,
 {
        struct ltdb_wrap *w;
        struct stat st;
+#if (_SAMBA_BUILD_ >= 4)
        struct tdb_logging_context log_ctx;
+       struct tdb_logging_context log_ctx_p = &log_ctx;
        log_ctx.log_fn = ltdb_log_fn;
        log_ctx.log_private = ldb;
+#else
+       tdb_log_func log_ctx_p = ltdb_log_fn;
+#endif
 
        if (stat(path, &st) == 0) {
                for (w=tdb_list;w;w=w->next) {
@@ -124,7 +145,7 @@ struct tdb_context *ltdb_wrap_open(TALLOC_CTX *mem_ctx,
                return NULL;
        }
 
-       w->tdb = tdb_open_ex(path, hash_size, tdb_flags, open_flags, mode, &log_ctx, NULL);
+       w->tdb = tdb_open_ex(path, hash_size, tdb_flags, open_flags, mode, log_ctx_p, NULL);
        if (w->tdb == NULL) {
                talloc_free(w);
                return NULL;