[PATCHES] lib/util - cleanups, build restructuring, charset compatibility
lslebodn at redhat.com
Wed Jan 7 06:17:23 MST 2015
On (07/01/15 14:56), Martin Schwenke wrote:
>On Tue, 6 Jan 2015 17:21:20 -0800, Jeremy Allison <jra at samba.org> wrote:
>> On Wed, Jan 07, 2015 at 06:26:47AM +1100, Martin Schwenke wrote:
>> > Hi Lukas,
>> > On Tue, 6 Jan 2015 15:24:16 +0100, Lukas Slebodnik
>> > <lslebodn at redhat.com> wrote:
>> > > Could you take a look into https://bugzilla.samba.org/show_bug.cgi?id=11033?
>> > >
>> > > I might be wrong, but I suspect problem is caused by these patches.
>> > Well, the problem is really caused by a dependency on broken public
>> > headers that don't define what they use. ;-)
>> > samba_util.h is included and it uses DEBUG(), so DEBUG() really needs
>> > to be defined. Using Samba public headers that are well defined means
>> Does samba_util.h use DEBUG ? I don't see that in the file.
>Sorry, I was unclear and vague. :-(
>samba_util.h used to define SMB_ASSERT() directly and SMB_ASSERT()
>uses DEBUG(). I moved SMB_ASSERT() to fault.h when I created that file.
>So I also added an include of debug.h in fault.h, and samba_util.h gets
>it indirectly via fault.h.
>Having thought about it more, the simplest fix/workaround is to actually
>make the include of debug.h in fault.h conditional. If the including
>code has already defined DEBUG() then we don't bother.
>Patch attached. I've only compile-tested it but it seems
>peace & happiness,
>From e8bd0a8793f135a8d2b130932d68e6bad1fa7f7d Mon Sep 17 00:00:00 2001
>From: Martin Schwenke <martin at meltin.net>
>Date: Wed, 7 Jan 2015 14:47:29 +1100
>Subject: [PATCH] lib/util: Conditionally include debug.h in fault.h
>This allows 3rd party users of the public library to define their own
With this patch, we will be able to workaround problem. Our macro will be
defined before including header file <ndr.h>.
The definition of our DEBUG macro is different, but that isn't problem for us
because we do not use macro SMB_ASSERT.
The question is whether DEBUG macro need to be used in public macro
SMB_ASSERT (fault.h). If yes it would be better to have prefixed version
SMB_DEBUG in public header file and old style DEBUG macro just in samba private
Thank you very much for fast response.
More information about the samba-technical