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:
@@ -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.
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user