Re: SO_LINGER used when not HAVE_STRUCT_LINGER_L_LINGER
- From: Pavel Roskin <proski gnu org>
 
- To: Leonard den Ottolander <leonard den ottolander nl>
 
- Cc: MC development <mc-devel gnome org>
 
- Subject: Re: SO_LINGER used when not HAVE_STRUCT_LINGER_L_LINGER
 
- Date: Thu, 25 May 2006 02:15:17 -0400
 
Hello!
On Wed, 2006-05-24 at 14:37 +0200, Leonard den Ottolander wrote:
> Hi,
> 
> Building mc on Minix-3.1.2 last weekend I stumbled over this piece of
> code:
> 
> vfs/ftpfs.c:1346
> #ifdef HAVE_STRUCT_LINGER_L_LINGER
>     li.l_onoff = 1;
>     li.l_linger = 120;
>     setsockopt (sock, SOL_SOCKET, SO_LINGER, (char *) &li, sizeof (li));
> #else
>     setsockopt (sock, SOL_SOCKET, SO_LINGER, &flag_one, sizeof
> (flag_one));
> #endif
> 
> The build on Minix chokes on the fact that SO_LINGER is undefined. It
> seems a bit odd that constant is being used when
> HAVE_STRUCT_LINGER_L_LINGER is not defined.
Nothing odd.  HAVE_STRUCT_LINGER_L_LINGER means that there is structure
linger with field l_linger.  That field (and the whole structure) is not
used if HAVE_STRUCT_LINGER_L_LINGER is not defined.
>  Any ideas on how to fix this
> cleanly?
Put #ifdef SO_LINGER ... #endif around the code you quoted.  Also do the
same for the declaration.
-- 
Regards,
Pavel Roskin
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]