oh, right.

reading your reply, I re-discovered my local fix I use for the
SFE packaging project:

==
#fix unlucky selection of name for struct (introduced in some 3.4.x
version)
grep "struct sockaddr_un sun;" src/util/unix_dgram_connect.c \
   && gsed -i.bak_undef_sun -e '/struct sockaddr_un sun;/ i\
   #undef sun' src/util/unix_dgram_connect.c
==

@tomww


On Mon, Apr 01, 2019 at 06:52:20PM +0300, Andrew Evdokimov wrote:
> On 01/04/2019 14:14, Wietse Venema wrote:
> > > unix_dgram_connect.c: In function 'unix_dgram_connect':
> > > unix_dgram_connect.c:63:24: error: expected identifier or '(' before
> > > numeric constant
> > >        struct sockaddr_un sun;
> > >                           ^
> > 
> > Any idea why identical code in src/util/unix_listen.c compiles
> > without error?
> 
> Because it undefs 'sun' macro while unix_dgram_connect.c does not.
> 
> ...
> int     unix_connect(const char *addr, int block_mode, int timeout)
> {
> #undef sun
>     struct sockaddr_un sun;
> ...
> 
> builder@builder2:~$ gcc -dM -E - < /dev/null | grep sun
> #define __sun 1
> #define sun 1
> #define __sun__ 1
> builder@builder2:~$ uname -a
> SunOS builder2 5.11 11.4.5.3.0 i86pc i386 i86pc
> 
> 
> -- 
> Andrew Evdokimov
> +7 910 450 83 33
> mail a...@elahi.ru
> xmpp a...@elahi.ru

-- 

Reply via email to