[PATCHES] lib/util - cleanups, build restructuring, charset compatibility
Lukas Slebodnik
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
>obvious... :-)
>
>peace & happiness,
>martin
>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
>DEBUG() macro.
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
header file.
Thank you very much for fast response.
LS
More information about the samba-technical
mailing list