2008-07-01 20:58 UTC+0200 Viktor Szakats (harbour.01 syenar hu)

* source/rtl/hbinet.c
     % Recently added code fixed to use HB_ERR_FUNCNAME.
     ! Quick fix to recently added code to compile with MSVC.
       Please review, it seem that get/setsockopt() 4th parameter 
       is void* in Linux but char* in Windows.
This commit is contained in:
Viktor Szakats
2008-07-01 19:05:18 +00:00
parent edc33edcfd
commit 2a55eb01e6
2 changed files with 32 additions and 9 deletions

View File

@@ -8,6 +8,13 @@
2008-12-31 13:59 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/
2008-07-01 20:58 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/hbinet.c
% Recently added code fixed to use HB_ERR_FUNCNAME.
! Quick fix to recently added code to compile with MSVC.
Please review, it seem that get/setsockopt() 4th parameter
is void* in Linux but char* in Windows.
2008-07-01 20:48 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/vm/extrap.c
! Fixed MSVC error in new code.

View File

@@ -778,58 +778,74 @@ HB_FUNC( HB_INETCLEARPERIODCALLBACK )
HB_FUNC( HB_INETGETSNDBUFSIZE )
{
HB_SOCKET_STRUCT *Socket = HB_PARSOCKET( 1 );
HB_SOCKET_STRUCT * Socket = HB_PARSOCKET( 1 );
if( Socket == NULL )
hb_errRT_BASE_SubstR( EG_ARG, 3012, NULL, "HB_INETGETSNDBUFSIZE", HB_ERR_ARGS_BASEPARAMS );
hb_errRT_BASE_SubstR( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
else
{
int value;
socklen_t len = sizeof( value );
getsockopt( Socket->com, SOL_SOCKET, SO_SNDBUF, ( void *) &value, &len );
#if defined( HB_OS_WIN_32 )
getsockopt( Socket->com, SOL_SOCKET, SO_SNDBUF, ( char * ) &value, &len );
#else
getsockopt( Socket->com, SOL_SOCKET, SO_SNDBUF, ( void * ) &value, &len );
#endif
hb_retni( value );
}
}
HB_FUNC( HB_INETGETRCVBUFSIZE )
{
HB_SOCKET_STRUCT *Socket = HB_PARSOCKET( 1 );
HB_SOCKET_STRUCT * Socket = HB_PARSOCKET( 1 );
if( Socket == NULL )
hb_errRT_BASE_SubstR( EG_ARG, 3012, NULL, "HB_INETGETRCVBUFSIZE", HB_ERR_ARGS_BASEPARAMS );
hb_errRT_BASE_SubstR( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
else
{
int value;
socklen_t len = sizeof( value );
#if defined( HB_OS_WIN_32 )
getsockopt( Socket->com, SOL_SOCKET, SO_RCVBUF, ( char * ) &value, &len );
#else
getsockopt( Socket->com, SOL_SOCKET, SO_RCVBUF, ( void * ) &value, &len );
#endif
hb_retni( value );
}
}
HB_FUNC( HB_INETSETSNDBUFSIZE )
{
HB_SOCKET_STRUCT *Socket = HB_PARSOCKET( 1 );
HB_SOCKET_STRUCT * Socket = HB_PARSOCKET( 1 );
if( Socket == NULL )
hb_errRT_BASE_SubstR( EG_ARG, 3012, NULL, "HB_INETSETSNDBUFSIZE", HB_ERR_ARGS_BASEPARAMS );
hb_errRT_BASE_SubstR( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
else
{
int value = hb_parni( 2 );
#if defined( HB_OS_WIN_32 )
setsockopt( Socket->com, SOL_SOCKET, SO_SNDBUF, ( char * ) &value, sizeof( value ) );
#else
setsockopt( Socket->com, SOL_SOCKET, SO_SNDBUF, ( void * ) &value, sizeof( value ) );
#endif
hb_retni( value );
}
}
HB_FUNC( HB_INETSETRCVBUFSIZE )
{
HB_SOCKET_STRUCT *Socket = HB_PARSOCKET( 1 );
HB_SOCKET_STRUCT * Socket = HB_PARSOCKET( 1 );
if( Socket == NULL )
hb_errRT_BASE_SubstR( EG_ARG, 3012, NULL, "HB_INETSETRCVBUFSIZE", HB_ERR_ARGS_BASEPARAMS );
hb_errRT_BASE_SubstR( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
else
{
int value = hb_parni( 2 );
#if defined( HB_OS_WIN_32 )
setsockopt( Socket->com, SOL_SOCKET, SO_RCVBUF, ( char * ) &value, sizeof( value ) );
#else
setsockopt( Socket->com, SOL_SOCKET, SO_RCVBUF, ( void * ) &value, sizeof( value ) );
#endif
hb_retni( value );
}
}