2011-05-24 11:59 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

* harbour/src/rtl/arc4.c
    ! changed size parameter passed by reference to sysctl() to size_t
    ! fixed WINCE builds
    % enable pid checking only in *nix systems.
      If system does not support fork() or compatible operation
      (i.e. vfork(), clone()) then PID checking is completely useless.

  * harbour/src/rtl/gtwvt/gtwvt.c
    * pacified WINCE warnings

  * harbour/contrib/rddads/adsx.c
    ! fixed potentially uninitialized pTag variable
This commit is contained in:
Przemyslaw Czerpak
2011-05-24 10:00:11 +00:00
parent 71005961f9
commit ff9138a724
4 changed files with 55 additions and 50 deletions

View File

@@ -16,6 +16,20 @@
The license applies to all entries newer than 2009-04-28.
*/
2011-05-24 11:59 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/arc4.c
! changed size parameter passed by reference to sysctl() to size_t
! fixed WINCE builds
% enable pid checking only in *nix systems.
If system does not support fork() or compatible operation
(i.e. vfork(), clone()) then PID checking is completely useless.
* harbour/src/rtl/gtwvt/gtwvt.c
* pacified WINCE warnings
* harbour/contrib/rddads/adsx.c
! fixed potentially uninitialized pTag variable
2011-05-23 11:27 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/arc4.c
! build error on osx

View File

@@ -1180,63 +1180,48 @@ static HB_ERRCODE adsxOrderDestroy( ADSXAREAP pArea, LPDBORDERINFO pOrderInfo )
static HB_ERRCODE adsxOrderInfo( ADSXAREAP pArea, HB_USHORT uiIndex, LPDBORDERINFO pOrderInfo )
{
LPMIXTAG pTag;
LPMIXTAG pTag = pArea->pTagCurrent;
/* resolve any pending relations */
if( pArea->adsarea.lpdbPendingRel )
SELF_FORCEREL( ( AREAP ) pArea );
/* all others need an index handle */
if( uiIndex != DBOI_ORDERCOUNT && pOrderInfo->itmOrder && !HB_IS_NIL( pOrderInfo->itmOrder ) )
if( uiIndex != DBOI_ORDERCOUNT )
{
if( HB_IS_STRING( pOrderInfo->itmOrder ) )
if( pOrderInfo->itmOrder )
{
pTag = pArea->pTagList;
while ( pTag )
if( HB_IS_STRING( pOrderInfo->itmOrder ) )
{
if( ! hb_stricmp( hb_itemGetCPtr( pOrderInfo->itmOrder ), pTag->szName ) )
break;
pTag = pArea->pTagList;
while ( pTag )
{
if( ! hb_stricmp( hb_itemGetCPtr( pOrderInfo->itmOrder ), pTag->szName ) )
break;
pTag = pTag->pNext;
pTag = pTag->pNext;
}
}
if( ! pTag )
return SUPER_ORDINFO( ( AREAP ) pArea, uiIndex, pOrderInfo );
}
else if( HB_IS_NUMERIC( pOrderInfo->itmOrder ) )
{
UNSIGNED16 usOrder = 0, usSearch = ( UNSIGNED16 ) hb_itemGetNI( pOrderInfo->itmOrder );
AdsGetNumIndexes( pArea->adsarea.hTable, &usOrder );
if( usSearch <= usOrder )
return SUPER_ORDINFO( ( AREAP ) pArea, uiIndex, pOrderInfo );
pTag = pArea->pTagList;
usOrder++;
while ( pTag )
else if( HB_IS_NUMERIC( pOrderInfo->itmOrder ) )
{
if( usSearch == usOrder )
break;
UNSIGNED16 usOrder = 0, usSearch = ( UNSIGNED16 ) hb_itemGetNI( pOrderInfo->itmOrder );
pTag = pTag->pNext;
usOrder++;
AdsGetNumIndexes( pArea->adsarea.hTable, &usOrder );
pTag = usSearch <= usOrder ? NULL : pArea->pTagList;
while ( pTag )
{
if( ++usOrder == usSearch )
break;
pTag = pTag->pNext;
}
}
if( ! pTag )
return SUPER_ORDINFO( ( AREAP ) pArea, uiIndex, pOrderInfo );
}
}
else if( ! pArea->pTagCurrent && uiIndex != DBOI_ORDERCOUNT )
{
return SUPER_ORDINFO( ( AREAP ) pArea, uiIndex, pOrderInfo );
}
else
pTag = pArea->pTagCurrent;
/* resolve any pending relations */
if( pArea->adsarea.lpdbPendingRel )
SELF_FORCEREL( ( AREAP ) pArea );
if( ! pTag )
return SUPER_ORDINFO( ( AREAP ) pArea, uiIndex, pOrderInfo );
}
switch( uiIndex )
{

View File

@@ -99,16 +99,14 @@ struct arc4_stream
HB_U8 s[ 256 ];
};
#if defined( HB_OS_WIN )
# if ! defined( __BORLANDC__ ) && ! defined( __WATCOMC__ )
# define getpid _getpid
# endif
# define pid_t int
#if !defined( HB_OS_UNIX )
# define NO_PID_CHECK
#else
static pid_t arc4_stir_pid;
#endif
static int rs_initialized;
static struct arc4_stream rs;
static pid_t arc4_stir_pid;
static HB_I32 arc4_count;
static HB_CRITICAL_NEW( arc4_lock );
@@ -214,7 +212,7 @@ static int arc4_seed_sysctl_linux( void )
*/
int mib[] = { CTL_KERN, KERN_RANDOM, RANDOM_UUID };
HB_U8 buf[ ADD_ENTROPY ];
HB_SIZE len, n;
size_t len, n;
unsigned int i;
int any_set;
@@ -255,7 +253,7 @@ static int arc4_seed_sysctl_bsd( void )
*/
int mib[] = { CTL_KERN, KERN_ARND };
HB_U8 buf[ ADD_ENTROPY ];
HB_SIZE len, n;
size_t len, n;
int i, any_set;
memset( buf, 0, sizeof( buf ) );
@@ -515,6 +513,10 @@ static void arc4_stir( void )
static void arc4_stir_if_needed( void )
{
#if defined( NO_PID_CHECK )
if( arc4_count <= 0 || ! rs_initialized )
arc4_stir();
#else
pid_t pid = getpid();
if( arc4_count <= 0 || ! rs_initialized || arc4_stir_pid != pid )
@@ -522,6 +524,7 @@ static void arc4_stir_if_needed( void )
arc4_stir_pid = pid;
arc4_stir();
}
#endif
}
static _HB_INLINE_ HB_U8 arc4_getbyte( void )

View File

@@ -1000,7 +1000,10 @@ static void hb_gt_wvt_SetMousePos( PHB_GTWVT pWVT, int iRow, int iCol )
static void hb_gt_wvt_Composited( PHB_GTWVT pWVT, HB_BOOL fEnable )
{
#if ! defined( HB_OS_WIN_CE )
#if defined( HB_OS_WIN_CE )
HB_SYMBOL_UNUSED( pWVT );
HB_SYMBOL_UNUSED( fEnable );
#else
if( hb_iswinvista() && ! GetSystemMetrics( SM_REMOTESESSION ) )
{
if( fEnable )