2015-07-31 16:42 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)

* src/rtl/gtxwc/gtxwc.c
  * src/rtl/mlcfunc.c
    * pacified new GCC C++ warnings

  * src/rtl/hbsocket.c
    * do not execute select() if HVM exception was generated when
      socket handlers are extracted but return an error immediately
This commit is contained in:
Przemysław Czerpak
2015-07-31 16:42:52 +02:00
parent 9e318add44
commit 964e9a6695
4 changed files with 34 additions and 9 deletions

View File

@@ -10,6 +10,15 @@
* Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment
*/
2015-07-31 16:42 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/gtxwc/gtxwc.c
* src/rtl/mlcfunc.c
* pacified new GCC C++ warnings
* src/rtl/hbsocket.c
* do not execute select() if HVM exception was generated when
socket handlers are extracted but return an error immediately
2015-07-31 16:01 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/vm/asort.c
% added new code for ASort()

View File

@@ -3365,12 +3365,12 @@ static void hb_gt_xwc_WndProc( PXWND_DEF wnd, XEvent * evt )
}
else if( req->target == s_atomTargets )
{
long aProp[] = { s_atomTimestamp, s_atomTargets,
Atom aProp[] = { s_atomTimestamp, s_atomTargets,
s_atomString, s_atomUTF8String,
s_atomText };
XChangeProperty( wnd->dpy, req->requestor, req->property,
s_atomAtom, 32, PropModeReplace,
( unsigned char * ) aProp, sizeof( aProp ) / sizeof( long ) );
( unsigned char * ) aProp, HB_SIZEOFARRAY( aProp ) );
}
else if( req->target == s_atomString || req->target == s_atomText )
{

View File

@@ -2763,7 +2763,11 @@ static HB_SOCKET s_socketSelectCallback( PHB_ITEM pItem )
if( HB_IS_NUMERIC( pItem ) )
sd = ( HB_SOCKET ) hb_itemGetNInt( pItem );
else if( HB_IS_POINTER( pItem ) )
sd = ( HB_SOCKET ) ( HB_PTRDIFF ) hb_itemGetPtr( pItem );
{
sd = hb_socketItemGet( pItem );
if( sd == HB_NO_SOCKET )
sd = ( HB_SOCKET ) ( HB_PTRDIFF ) hb_itemGetPtr( pItem );
}
}
return sd;
}
@@ -2823,10 +2827,19 @@ int hb_socketSelect( PHB_ITEM pArrayRD, HB_BOOL fSetRD,
else
ptv = NULL;
hb_vmUnlock();
ret = select( ( int ) ( maxsd + 1 ), pfds[ 0 ], pfds[ 1 ], pfds[ 2 ], ptv );
hb_socketSetOsError( ret == -1 ? HB_SOCK_GETERROR() : 0 );
hb_vmLock();
if( hb_vmRequestQuery() == 0 )
{
hb_vmUnlock();
ret = select( ( int ) ( maxsd + 1 ), pfds[ 0 ], pfds[ 1 ], pfds[ 2 ], ptv );
hb_socketSetOsError( ret == -1 ? HB_SOCK_GETERROR() : 0 );
hb_vmLock();
}
else
{
hb_socketSetRawError( HB_SOCKET_ERR_INVALIDHANDLE );
pSet[ 0 ] = pSet[ 1 ] = pSet[ 2 ] = HB_FALSE;
ret = -1;
}
for( i = 0; i < 3; i++ )
{

View File

@@ -390,8 +390,11 @@ HB_FUNC( MEMOLINE )
nCol = nIndex < MLC.nLen &&
( MLC.pszString[ nIndex ] == ' ' ||
MLC.pszString[ nIndex ] == HB_CHAR_HT ) ? 1 : 0;
memset( szLine + nLen, ' ', nCol );
nLen += nCol;
if( nCol > 0 )
{
memset( szLine + nLen, ' ', nCol );
nLen += nCol;
}
}
}
hb_mlExit( &MLC );