"Hyrum K. Wright" <hyrum_wright@mail.utexas.edu> writes:
>>> On 9/13/07, Joe Orton <jorton@redhat.com> wrote:
>>>> Recent releases of glibc define "open" in unistd.h as a macro, to allow
>>>> the detection at compile time of open() invocations which have undefined
>>>> behaviour (omitting the mode parameter when required, notably). This is
>>>> explicitly permitted by the POSIX specification for all function call
>>>> interfaces it defines.
>>>>
>>>> The SVN build breaks with these new glibc releases - in places where
>>>> "foo->open(" is used, the "open(" part gets macro-expanded to
>>>> something... undesirable. The patch below prevents that macro expansion
>>>> and fixes the build.
>>>
>>> Nice fix. Thanks for fixing header_wrappers.py as well.
>>>
>>> +1 from me on your patch.
>>
>> +1 to commit.
>
> Did this ever get committed?
For reference, folks, this is
http://svn.haxx.se/dev/archive-2007-09/0343.shtml
Annoyingly, it's hard to grab a patch from a message body there, but
we should commit this, possibly with some tweaks:
For the BDB calls, we can't just rename "open" to something else,
since it's a name imposed by BDB. Joe's patch (wrapping the calls in
parens) is the right solution there.
For the Subversion vtables, we could just rename "open", and that
would probably be the more maintainable solution.
I don't have time to do this ATM, but I wanted to toss out these
comments.
-Karl
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Oct 23 01:36:32 2007