Re: [HACKERS] Snapshot 270198 compile error - Mailing list pgsql-hackers

From Phil Thompson
Subject Re: [HACKERS] Snapshot 270198 compile error
Date
Msg-id 34CE3497.1643B8BF@river-bank.demon.co.uk
Whole thread Raw
In response to Re: [HACKERS] Snapshot 270198 compile error  (Bruce Momjian <maillist@candle.pha.pa.us>)
List pgsql-hackers
Bruce Momjian wrote:

>   #define       UNIXSOCK_PATH(sun,port) \
>         (sprintf((sun).sun_path, "/tmp/.s.PGSQL.%d", (port)) + \
> !               + 1 + sizeof ((sun).sun_family))
> ! /*
> !  *            + 1 is for BSD-specific sizeof((sun).sun_len)
> !  *            We never actually set sun_len, and I can't think of a
> !  *            platform-safe way of doing it, but the code still works. bjm
> !  */

I don't think this is going to work.  On glibc2 you will end up with a
trailing '\0' in the socket name.  You won't be able to see it but I
think it will be there.  Is the following version portable?

#define    UNIXSOCK_PATH(sun,port) \
    (sprintf((sun).sun_path, "/tmp/.s.PGSQL.%d", (port)) + \
    ((char *)&(sun).sun_path[0] - (char *)&(sun)))

Phil

pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: deadlock detection
Next
From: Simon Shapiro
Date:
Subject: Domain Problem?