On Wed, Feb 3, 2010 at 07:22, Magnus Hagander <magnus@hagander.net> wrote:
> On Wednesday, February 3, 2010, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> Magnus Hagander <magnus@hagander.net> writes:
>>> On Wednesday, February 3, 2010, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>>> Perhaps instead of depending on magic constants, you should have the
>>>> code use what "localhost" resolves as, comparably to pgstat.c.
>>
>>> Pgstat only talks locally so that's a completely different thing.
>>
>> Ah, right.
>>
>> I notice that in libpq/ip.c, we're using a macro IN6_IS_ADDR_UNSPECIFIED()
>> as a substitute for testing equality to in6addr_any. I wonder where
>> that comes from and whether it has a brother for assignment...
>>
>
> I'll take a look. I'm off doing training all day so it won't be until
> tonight though.
Ok. Mingw *does* have inaddr6_any. Only they have it in the headers,
as an extern, but they didn't put it in their libraries. *sigh*
So one thing we could do is to simply define the extern in a #ifdef
section, right there. Which seems rather ugly. Or we can create a new
symbol on mingw and #define or #ifdef it to use that one, like
inaddr6_any_brokenmingw.
From some googling, the value should be:
static in6_addr inaddr6_any={0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0};
Which one seems least ugly?
--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/