2016-09-22 15:47 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)

* include/hbapi.h
  * include/hbvmpub.h
    * removed casting C style casting from commonly used macros

  * contrib/gtqtc/gtqtc1.cpp
    * use C++ casting instead of C casting

  * contrib/rddads/ads1.c
  * contrib/rddads/adsx.c
  * contrib/rddsql/sqlmix.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/dbsql.c
  * src/rdd/workarea.c
    * cleaned HB_IT_* usage

  * contrib/rddads/ads1.c
    ! fixed typo in low level code of ordDescend() / DBOI_ISDESC,
      now ordDescend() should work with ADS* RDDs just like with
      native RDDs

  * contrib/hbfoxpro/relfunc.c
    ! fixed typo in Between() function - thanks to Petr Chorney

  * src/rtl/gtwvt/gtwvt.c
    ! added workaround for keyboard drivers which sets CTRL key modifier
      flag when only ALTGR is pressed - thanks to Maurizio la Cecilia
This commit is contained in:
Przemysław Czerpak
2016-09-22 15:47:08 +02:00
parent 085b9d828e
commit 72016f2bc3
14 changed files with 164 additions and 129 deletions

View File

@@ -411,7 +411,7 @@ static HB_BYTE hb_cdxItemType( PHB_ITEM pItem )
switch( hb_itemType( pItem ) )
{
case HB_IT_STRING:
case HB_IT_STRING | HB_IT_MEMO:
case HB_IT_MEMO:
return 'C';
case HB_IT_INTEGER:
@@ -791,7 +791,7 @@ static void hb_cdxTagSetScope( LPCDXTAG pTag, HB_USHORT nScope, PHB_ITEM pItem )
if( pArea->dbfarea.lpdbPendingRel && pArea->dbfarea.lpdbPendingRel->isScoped )
SELF_FORCEREL( &pArea->dbfarea.area );
pScopeVal = ( hb_itemType( pItem ) == HB_IT_BLOCK ) ?
pScopeVal = ( hb_itemType( pItem ) & HB_IT_BLOCK ) ?
hb_vmEvalBlock( pItem ) : pItem;
if( hb_cdxItemTypeCmp( ( HB_BYTE ) pTag->uiType ) == hb_cdxItemTypeCmp( hb_cdxItemType( pScopeVal ) ) )
@@ -858,14 +858,14 @@ static void hb_cdxTagRefreshScope( LPCDXTAG pTag )
pTag->pIndex->pArea->dbfarea.lpdbPendingRel->isScoped )
SELF_FORCEREL( &pTag->pIndex->pArea->dbfarea.area );
if( hb_itemType( pTag->topScope ) == HB_IT_BLOCK )
if( hb_itemType( pTag->topScope ) & HB_IT_BLOCK )
{
pItem = hb_vmEvalBlock( pTag->topScope );
pTag->topScopeKey = hb_cdxKeyPutItem( pTag->topScopeKey, pItem,
pTag->topScopeKey->rec,
pTag, CDX_CMP_PREFIX );
}
if( hb_itemType( pTag->bottomScope ) == HB_IT_BLOCK )
if( hb_itemType( pTag->bottomScope ) & HB_IT_BLOCK )
{
pItem = hb_vmEvalBlock( pTag->bottomScope );
pTag->bottomScopeKey = hb_cdxKeyPutItem( pTag->bottomScopeKey, pItem,
@@ -5448,7 +5448,7 @@ static HB_BOOL hb_cdxDBOISkipEval( CDXAREAP pArea, LPCDXTAG pTag, HB_BOOL fForwa
if( FAST_GOCOLD( &pArea->dbfarea.area ) == HB_FAILURE )
return HB_FALSE;
if( ! pTag || hb_itemType( pEval ) != HB_IT_BLOCK )
if( ! pTag || ( hb_itemType( pEval ) & HB_IT_BLOCK ) == 0 )
{
if( SELF_SKIP( &pArea->dbfarea.area, fForward ? 1 : -1 ) == HB_FAILURE )
return HB_FALSE;
@@ -7691,7 +7691,7 @@ static HB_ERRCODE hb_cdxOrderCreate( CDXAREAP pArea, LPDBORDERCREATEINFO pOrderI
SELF_GOTO( &pArea->dbfarea.area, ulRecNo );
return HB_FAILURE;
}
fOK = hb_itemType( pArea->dbfarea.area.valResult ) == HB_IT_LOGICAL;
fOK = hb_itemType( pArea->dbfarea.area.valResult ) & HB_IT_LOGICAL;
hb_itemRelease( pArea->dbfarea.area.valResult );
pArea->dbfarea.area.valResult = NULL;
if( ! fOK )
@@ -8192,7 +8192,7 @@ static HB_ERRCODE hb_cdxOrderInfo( CDXAREAP pArea, HB_USHORT uiIndex, LPDBORDERI
pArea->dbfarea.area.valResult = NULL;
if( SELF_EVALBLOCK( &pArea->dbfarea.area, pForItem ) == HB_SUCCESS )
{
if( hb_itemType( pArea->dbfarea.area.valResult ) == HB_IT_LOGICAL )
if( hb_itemType( pArea->dbfarea.area.valResult ) & HB_IT_LOGICAL )
{
pTag->pForItem = pForItem;
pForItem = NULL;
@@ -8486,7 +8486,7 @@ static HB_ERRCODE hb_cdxOrderInfo( CDXAREAP pArea, HB_USHORT uiIndex, LPDBORDERI
case DBOI_CUSTOM:
if( pTag && ! pTag->Template &&
hb_itemType( pInfo->itmNewVal ) == HB_IT_LOGICAL )
( hb_itemType( pInfo->itmNewVal ) & HB_IT_LOGICAL ) )
{
HB_BOOL fNewVal = hb_itemGetL( pInfo->itmNewVal );
if( pTag->Custom ? ! fNewVal : fNewVal )
@@ -8518,7 +8518,7 @@ static HB_ERRCODE hb_cdxOrderInfo( CDXAREAP pArea, HB_USHORT uiIndex, LPDBORDERI
case DBOI_CHGONLY:
if( pTag && ! pTag->Custom &&
hb_itemType( pInfo->itmNewVal ) == HB_IT_LOGICAL )
( hb_itemType( pInfo->itmNewVal ) & HB_IT_LOGICAL ) )
{
HB_BOOL fNewVal = hb_itemGetL( pInfo->itmNewVal );
if( pTag->ChgOnly ? ! fNewVal : fNewVal )
@@ -8702,7 +8702,7 @@ static HB_ERRCODE hb_cdxOrderInfo( CDXAREAP pArea, HB_USHORT uiIndex, LPDBORDERI
case DBOI_READLOCK:
if( pTag )
{
if( hb_itemType( pInfo->itmNewVal ) == HB_IT_LOGICAL )
if( hb_itemType( pInfo->itmNewVal ) & HB_IT_LOGICAL )
{
if( hb_itemGetL( pInfo->itmNewVal ) )
hb_cdxIndexLockRead( pTag->pIndex );
@@ -8719,7 +8719,7 @@ static HB_ERRCODE hb_cdxOrderInfo( CDXAREAP pArea, HB_USHORT uiIndex, LPDBORDERI
case DBOI_WRITELOCK:
if( pTag )
{
if( hb_itemType( pInfo->itmNewVal ) == HB_IT_LOGICAL )
if( hb_itemType( pInfo->itmNewVal ) & HB_IT_LOGICAL )
{
if( hb_itemGetL( pInfo->itmNewVal ) )
hb_cdxIndexLockWrite( pTag->pIndex );
@@ -8883,7 +8883,7 @@ static HB_ERRCODE hb_cdxRddInfo( LPRDDNODE pRDD, HB_USHORT uiIndex, HB_ULONG ulC
case RDDI_STRICTSTRUCT:
{
HB_BOOL fStrictStruct = pData->fStrictStruct;
if( hb_itemType( pItem ) == HB_IT_LOGICAL )
if( hb_itemType( pItem ) & HB_IT_LOGICAL )
pData->fStrictStruct = hb_itemGetL( pItem );
hb_itemPutL( pItem, fStrictStruct );
break;
@@ -9702,7 +9702,7 @@ static void hb_cdxTagDoIndex( LPCDXTAG pTag, HB_BOOL fReindex )
switch( hb_itemType( pItem ) )
{
case HB_IT_STRING:
case HB_IT_STRING | HB_IT_MEMO:
case HB_IT_MEMO:
hb_cdxSortKeyAdd( pSort, pArea->dbfarea.ulRecNo,
( const HB_BYTE * ) hb_itemGetCPtr( pItem ),
( int ) hb_itemGetCLen( pItem ) );

View File

@@ -547,7 +547,7 @@ static HB_BYTE hb_nsxItemType( PHB_ITEM pItem )
switch( hb_itemType( pItem ) )
{
case HB_IT_STRING:
case HB_IT_STRING | HB_IT_MEMO:
case HB_IT_MEMO:
return 'C';
case HB_IT_INTEGER:
@@ -1001,7 +1001,7 @@ static void hb_nsxTagSetScope( LPTAGINFO pTag, HB_USHORT nScope, PHB_ITEM pItem
if( pArea->dbfarea.lpdbPendingRel && pArea->dbfarea.lpdbPendingRel->isScoped )
SELF_FORCEREL( &pArea->dbfarea.area );
pScopeVal = ( hb_itemType( pItem ) == HB_IT_BLOCK ) ?
pScopeVal = ( hb_itemType( pItem ) & HB_IT_BLOCK ) ?
hb_vmEvalBlock( pItem ) : pItem;
if( hb_nsxKeyTypeCmp( pTag->KeyType ) == hb_nsxKeyTypeCmp( hb_nsxItemType( pScopeVal ) ) )
@@ -1065,13 +1065,13 @@ static void hb_nsxTagRefreshScope( LPTAGINFO pTag )
pTag->pIndex->pArea->dbfarea.lpdbPendingRel->isScoped )
SELF_FORCEREL( &pTag->pIndex->pArea->dbfarea.area );
if( hb_itemType( pTag->top.scopeItem ) == HB_IT_BLOCK )
if( hb_itemType( pTag->top.scopeItem ) & HB_IT_BLOCK )
{
pItem = hb_vmEvalBlock( pTag->top.scopeItem );
pTag->top.scopeKey = hb_nsxKeyPutItem( pTag->top.scopeKey, pItem,
pTag->top.scopeKey->rec, pTag, HB_TRUE, &pTag->top.scopeKeyLen );
}
if( hb_itemType( pTag->bottom.scopeItem ) == HB_IT_BLOCK )
if( hb_itemType( pTag->bottom.scopeItem ) & HB_IT_BLOCK )
{
pItem = hb_vmEvalBlock( pTag->bottom.scopeItem );
pTag->bottom.scopeKey = hb_nsxKeyPutItem( pTag->bottom.scopeKey, pItem,
@@ -4536,7 +4536,7 @@ static HB_BOOL hb_nsxOrdSkipEval( LPTAGINFO pTag, HB_BOOL fForward, PHB_ITEM pEv
HB_TRACE( HB_TR_DEBUG, ( "hb_nsxOrdSkipEval(%p, %d, %p)", pTag, fForward, pEval ) );
if( hb_itemType( pEval ) != HB_IT_BLOCK )
if( ( hb_itemType( pEval ) & HB_IT_BLOCK ) == 0 )
{
if( SELF_SKIP( &pArea->dbfarea.area, fForward ? 1 : -1 ) != HB_SUCCESS )
return HB_FALSE;
@@ -5962,7 +5962,7 @@ static HB_ERRCODE hb_nsxTagCreate( LPTAGINFO pTag, HB_BOOL fReindex )
switch( hb_itemType( pItem ) )
{
case HB_IT_STRING:
case HB_IT_STRING | HB_IT_MEMO:
case HB_IT_MEMO:
hb_nsxSortKeyAdd( pSort, pArea->dbfarea.ulRecNo,
hb_itemGetCPtr( pItem ),
( HB_INTCAST ) hb_itemGetCLen( pItem ) );
@@ -6788,7 +6788,7 @@ static HB_ERRCODE hb_nsxOrderCreate( NSXAREAP pArea, LPDBORDERCREATEINFO pOrderI
SELF_GOTO( &pArea->dbfarea.area, ulRecNo );
return errCode;
}
fOK = hb_itemType( pArea->dbfarea.area.valResult ) == HB_IT_LOGICAL;
fOK = hb_itemType( pArea->dbfarea.area.valResult ) & HB_IT_LOGICAL;
hb_itemRelease( pArea->dbfarea.area.valResult );
pArea->dbfarea.area.valResult = NULL;
if( ! fOK )
@@ -7268,7 +7268,7 @@ static HB_ERRCODE hb_nsxOrderInfo( NSXAREAP pArea, HB_USHORT uiIndex, LPDBORDERI
pArea->dbfarea.area.valResult = NULL;
if( SELF_EVALBLOCK( &pArea->dbfarea.area, pForItem ) == HB_SUCCESS )
{
fOK = hb_itemType( pArea->dbfarea.area.valResult ) == HB_IT_LOGICAL;
fOK = hb_itemType( pArea->dbfarea.area.valResult ) & HB_IT_LOGICAL;
hb_itemRelease( pArea->dbfarea.area.valResult );
pArea->dbfarea.area.valResult = NULL;
}
@@ -7348,7 +7348,7 @@ static HB_ERRCODE hb_nsxOrderInfo( NSXAREAP pArea, HB_USHORT uiIndex, LPDBORDERI
break;
case DBOI_ISDESC:
pInfo->itmResult = hb_itemPutL( pInfo->itmResult, pTag->fUsrDescend );
if( hb_itemType( pInfo->itmNewVal ) == HB_IT_LOGICAL )
if( hb_itemType( pInfo->itmNewVal ) & HB_IT_LOGICAL )
pTag->fUsrDescend = hb_itemGetL( pInfo->itmNewVal );
break;
case DBOI_UNIQUE:
@@ -7356,7 +7356,7 @@ static HB_ERRCODE hb_nsxOrderInfo( NSXAREAP pArea, HB_USHORT uiIndex, LPDBORDERI
break;
case DBOI_CUSTOM:
if( ! pTag->Template &&
hb_itemType( pInfo->itmNewVal ) == HB_IT_LOGICAL )
( hb_itemType( pInfo->itmNewVal ) & HB_IT_LOGICAL ) )
{
HB_BOOL fNewVal = hb_itemGetL( pInfo->itmNewVal );
if( pTag->Custom ? ! fNewVal : fNewVal )
@@ -7378,7 +7378,7 @@ static HB_ERRCODE hb_nsxOrderInfo( NSXAREAP pArea, HB_USHORT uiIndex, LPDBORDERI
break;
case DBOI_CHGONLY:
if( ! pTag->Custom &&
hb_itemType( pInfo->itmNewVal ) == HB_IT_LOGICAL )
( hb_itemType( pInfo->itmNewVal ) & HB_IT_LOGICAL ) )
{
HB_BOOL fNewVal = hb_itemGetL( pInfo->itmNewVal );
if( pTag->ChgOnly ? ! fNewVal : fNewVal )
@@ -7560,7 +7560,7 @@ static HB_ERRCODE hb_nsxOrderInfo( NSXAREAP pArea, HB_USHORT uiIndex, LPDBORDERI
uiIndex == DBOI_FINDRECCONT ) );
break;
case DBOI_SCOPEEVAL:
if( hb_itemType( pInfo->itmNewVal ) == HB_IT_ARRAY &&
if( ( hb_itemType( pInfo->itmNewVal ) & HB_IT_ARRAY ) &&
hb_arrayLen( pInfo->itmNewVal ) == DBRMI_SIZE &&
hb_arrayGetPtr( pInfo->itmNewVal, DBRMI_FUNCTION ) != NULL )
{
@@ -7581,7 +7581,7 @@ static HB_ERRCODE hb_nsxOrderInfo( NSXAREAP pArea, HB_USHORT uiIndex, LPDBORDERI
pInfo->itmResult = hb_itemPutNInt( pInfo->itmResult, pTag->pIndex->Version );
break;
case DBOI_READLOCK:
if( hb_itemType( pInfo->itmNewVal ) == HB_IT_LOGICAL )
if( hb_itemType( pInfo->itmNewVal ) & HB_IT_LOGICAL )
pInfo->itmResult = hb_itemPutL( pInfo->itmResult,
hb_itemGetL( pInfo->itmNewVal ) ?
hb_nsxIndexLockRead( pTag->pIndex ) :
@@ -7590,7 +7590,7 @@ static HB_ERRCODE hb_nsxOrderInfo( NSXAREAP pArea, HB_USHORT uiIndex, LPDBORDERI
pInfo->itmResult = hb_itemPutL( pInfo->itmResult, pTag->pIndex->lockRead > 0 );
break;
case DBOI_WRITELOCK:
if( hb_itemType( pInfo->itmNewVal ) == HB_IT_LOGICAL )
if( hb_itemType( pInfo->itmNewVal ) & HB_IT_LOGICAL )
pInfo->itmResult = hb_itemPutL( pInfo->itmResult,
hb_itemGetL( pInfo->itmNewVal ) ?
hb_nsxIndexLockWrite( pTag->pIndex, HB_TRUE ) :
@@ -7607,7 +7607,7 @@ static HB_ERRCODE hb_nsxOrderInfo( NSXAREAP pArea, HB_USHORT uiIndex, LPDBORDERI
break;
case DBOI_SHARED:
pInfo->itmResult = hb_itemPutL( pInfo->itmResult, pTag->pIndex->fShared );
if( hb_itemType( pInfo->itmNewVal ) == HB_IT_LOGICAL )
if( hb_itemType( pInfo->itmNewVal ) & HB_IT_LOGICAL )
pTag->pIndex->fShared = hb_itemGetL( pInfo->itmNewVal );
break;
case DBOI_ISREADONLY:
@@ -8045,7 +8045,7 @@ static HB_ERRCODE hb_nsxRddInfo( LPRDDNODE pRDD, HB_USHORT uiIndex, HB_ULONG ulC
case RDDI_STRICTSTRUCT:
{
HB_BOOL fStrictStruct = pData->fStrictStruct;
if( hb_itemType( pItem ) == HB_IT_LOGICAL )
if( hb_itemType( pItem ) & HB_IT_LOGICAL )
pData->fStrictStruct = hb_itemGetL( pItem );
hb_itemPutL( pItem, fStrictStruct );
break;
@@ -8054,7 +8054,7 @@ static HB_ERRCODE hb_nsxRddInfo( LPRDDNODE pRDD, HB_USHORT uiIndex, HB_ULONG ulC
case RDDI_MULTIKEY:
{
HB_BOOL fMultiKey = pData->fMultiKey;
if( hb_itemType( pItem ) == HB_IT_LOGICAL )
if( hb_itemType( pItem ) & HB_IT_LOGICAL )
pData->fMultiKey = hb_itemGetL( pItem );
hb_itemPutL( pItem, fMultiKey );
break;

View File

@@ -395,7 +395,7 @@ static HB_BYTE hb_ntxItemType( PHB_ITEM pItem )
switch( hb_itemType( pItem ) )
{
case HB_IT_STRING:
case HB_IT_STRING | HB_IT_MEMO:
case HB_IT_MEMO:
return 'C';
case HB_IT_INTEGER:
@@ -809,7 +809,7 @@ static void hb_ntxTagSetScope( LPTAGINFO pTag, HB_USHORT nScope, PHB_ITEM pItem
if( pArea->dbfarea.lpdbPendingRel && pArea->dbfarea.lpdbPendingRel->isScoped )
SELF_FORCEREL( &pArea->dbfarea.area );
pScopeVal = ( hb_itemType( pItem ) == HB_IT_BLOCK ) ?
pScopeVal = ( hb_itemType( pItem ) & HB_IT_BLOCK ) ?
hb_vmEvalBlock( pItem ) : pItem;
if( hb_ntxItemTypeCmp( pTag->KeyType ) == hb_ntxItemTypeCmp( hb_ntxItemType( pScopeVal ) ) )
@@ -873,13 +873,13 @@ static void hb_ntxTagRefreshScope( LPTAGINFO pTag )
pTag->pIndex->pArea->dbfarea.lpdbPendingRel->isScoped )
SELF_FORCEREL( &pTag->pIndex->pArea->dbfarea.area );
if( hb_itemType( pTag->top.scopeItem ) == HB_IT_BLOCK )
if( hb_itemType( pTag->top.scopeItem ) & HB_IT_BLOCK )
{
pItem = hb_vmEvalBlock( pTag->top.scopeItem );
pTag->top.scopeKey = hb_ntxKeyPutItem( pTag->top.scopeKey, pItem,
pTag->top.scopeKey->Xtra, pTag, HB_TRUE, &pTag->top.scopeKeyLen );
}
if( hb_itemType( pTag->bottom.scopeItem ) == HB_IT_BLOCK )
if( hb_itemType( pTag->bottom.scopeItem ) & HB_IT_BLOCK )
{
pItem = hb_vmEvalBlock( pTag->bottom.scopeItem );
pTag->bottom.scopeKey = hb_ntxKeyPutItem( pTag->bottom.scopeKey, pItem,
@@ -4173,7 +4173,7 @@ static HB_BOOL hb_ntxOrdSkipEval( LPTAGINFO pTag, HB_BOOL fForward, PHB_ITEM pEv
HB_TRACE( HB_TR_DEBUG, ( "hb_ntxOrdSkipEval(%p, %d, %p)", pTag, fForward, pEval ) );
if( hb_itemType( pEval ) != HB_IT_BLOCK )
if( ( hb_itemType( pEval ) & HB_IT_BLOCK ) == 0 )
{
if( SELF_SKIP( &pArea->dbfarea.area, fForward ? 1 : -1 ) != HB_SUCCESS )
return HB_FALSE;
@@ -5487,7 +5487,7 @@ static HB_ERRCODE hb_ntxTagCreate( LPTAGINFO pTag, HB_BOOL fReindex )
switch( hb_itemType( pItem ) )
{
case HB_IT_STRING:
case HB_IT_STRING | HB_IT_MEMO:
case HB_IT_MEMO:
hb_ntxSortKeyAdd( pSort, pArea->dbfarea.ulRecNo,
hb_itemGetCPtr( pItem ),
( HB_INTCAST ) hb_itemGetCLen( pItem ) );
@@ -6372,7 +6372,7 @@ static HB_ERRCODE hb_ntxOrderCreate( NTXAREAP pArea, LPDBORDERCREATEINFO pOrderI
SELF_GOTO( &pArea->dbfarea.area, ulRecNo );
return errCode;
}
fOK = hb_itemType( pArea->dbfarea.area.valResult ) == HB_IT_LOGICAL;
fOK = hb_itemType( pArea->dbfarea.area.valResult ) & HB_IT_LOGICAL;
hb_itemRelease( pArea->dbfarea.area.valResult );
pArea->dbfarea.area.valResult = NULL;
if( ! fOK )
@@ -6899,7 +6899,7 @@ static HB_ERRCODE hb_ntxOrderInfo( NTXAREAP pArea, HB_USHORT uiIndex, LPDBORDERI
pArea->dbfarea.area.valResult = NULL;
if( SELF_EVALBLOCK( &pArea->dbfarea.area, pForItem ) == HB_SUCCESS )
{
fOK = hb_itemType( pArea->dbfarea.area.valResult ) == HB_IT_LOGICAL;
fOK = hb_itemType( pArea->dbfarea.area.valResult ) & HB_IT_LOGICAL;
hb_itemRelease( pArea->dbfarea.area.valResult );
pArea->dbfarea.area.valResult = NULL;
}
@@ -6979,7 +6979,7 @@ static HB_ERRCODE hb_ntxOrderInfo( NTXAREAP pArea, HB_USHORT uiIndex, LPDBORDERI
break;
case DBOI_ISDESC:
pInfo->itmResult = hb_itemPutL( pInfo->itmResult, pTag->fUsrDescend );
if( hb_itemType( pInfo->itmNewVal ) == HB_IT_LOGICAL )
if( hb_itemType( pInfo->itmNewVal ) & HB_IT_LOGICAL )
pTag->fUsrDescend = hb_itemGetL( pInfo->itmNewVal );
break;
case DBOI_UNIQUE:
@@ -6987,7 +6987,7 @@ static HB_ERRCODE hb_ntxOrderInfo( NTXAREAP pArea, HB_USHORT uiIndex, LPDBORDERI
break;
case DBOI_CUSTOM:
if( ! pTag->Template &&
hb_itemType( pInfo->itmNewVal ) == HB_IT_LOGICAL )
hb_itemType( pInfo->itmNewVal ) & HB_IT_LOGICAL )
{
HB_BOOL fNewVal = hb_itemGetL( pInfo->itmNewVal );
if( pTag->Custom ? ! fNewVal : fNewVal )
@@ -7009,7 +7009,7 @@ static HB_ERRCODE hb_ntxOrderInfo( NTXAREAP pArea, HB_USHORT uiIndex, LPDBORDERI
break;
case DBOI_CHGONLY:
if( ! pTag->Custom &&
hb_itemType( pInfo->itmNewVal ) == HB_IT_LOGICAL )
hb_itemType( pInfo->itmNewVal ) & HB_IT_LOGICAL )
{
HB_BOOL fNewVal = hb_itemGetL( pInfo->itmNewVal );
if( pTag->ChgOnly ? ! fNewVal : fNewVal )
@@ -7189,7 +7189,7 @@ static HB_ERRCODE hb_ntxOrderInfo( NTXAREAP pArea, HB_USHORT uiIndex, LPDBORDERI
uiIndex == DBOI_FINDRECCONT ) );
break;
case DBOI_SCOPEEVAL:
if( hb_itemType( pInfo->itmNewVal ) == HB_IT_ARRAY &&
if( ( hb_itemType( pInfo->itmNewVal ) & HB_IT_ARRAY ) &&
hb_arrayLen( pInfo->itmNewVal ) == DBRMI_SIZE &&
hb_arrayGetPtr( pInfo->itmNewVal, DBRMI_FUNCTION ) != NULL )
{
@@ -7210,7 +7210,7 @@ static HB_ERRCODE hb_ntxOrderInfo( NTXAREAP pArea, HB_USHORT uiIndex, LPDBORDERI
pInfo->itmResult = hb_itemPutNInt( pInfo->itmResult, pTag->pIndex->Version );
break;
case DBOI_READLOCK:
if( hb_itemType( pInfo->itmNewVal ) == HB_IT_LOGICAL )
if( hb_itemType( pInfo->itmNewVal ) & HB_IT_LOGICAL )
pInfo->itmResult = hb_itemPutL( pInfo->itmResult,
hb_itemGetL( pInfo->itmNewVal ) ?
hb_ntxIndexLockRead( pTag->pIndex ) :
@@ -7219,7 +7219,7 @@ static HB_ERRCODE hb_ntxOrderInfo( NTXAREAP pArea, HB_USHORT uiIndex, LPDBORDERI
pInfo->itmResult = hb_itemPutL( pInfo->itmResult, pTag->pIndex->lockRead > 0 );
break;
case DBOI_WRITELOCK:
if( hb_itemType( pInfo->itmNewVal ) == HB_IT_LOGICAL )
if( hb_itemType( pInfo->itmNewVal ) & HB_IT_LOGICAL )
pInfo->itmResult = hb_itemPutL( pInfo->itmResult,
hb_itemGetL( pInfo->itmNewVal ) ?
hb_ntxIndexLockWrite( pTag->pIndex, HB_TRUE ) :
@@ -7242,7 +7242,7 @@ static HB_ERRCODE hb_ntxOrderInfo( NTXAREAP pArea, HB_USHORT uiIndex, LPDBORDERI
break;
case DBOI_SHARED:
pInfo->itmResult = hb_itemPutL( pInfo->itmResult, pTag->pIndex->fShared );
if( hb_itemType( pInfo->itmNewVal ) == HB_IT_LOGICAL )
if( hb_itemType( pInfo->itmNewVal ) & HB_IT_LOGICAL )
pTag->pIndex->fShared = hb_itemGetL( pInfo->itmNewVal );
break;
case DBOI_ISREADONLY:
@@ -7722,7 +7722,7 @@ static HB_ERRCODE hb_ntxRddInfo( LPRDDNODE pRDD, HB_USHORT uiIndex, HB_ULONG ulC
hb_itemPutL( pItem, HB_FALSE );
#else
HB_BOOL fMultiTag = pData->fMultiTag;
if( hb_itemType( pItem ) == HB_IT_LOGICAL )
if( hb_itemType( pItem ) & HB_IT_LOGICAL )
pData->fMultiTag = hb_itemGetL( pItem );
hb_itemPutL( pItem, fMultiTag );
#endif
@@ -7732,7 +7732,7 @@ static HB_ERRCODE hb_ntxRddInfo( LPRDDNODE pRDD, HB_USHORT uiIndex, HB_ULONG ulC
case RDDI_SORTRECNO:
{
HB_BOOL fSortRecNo = pData->fSortRecNo;
if( hb_itemType( pItem ) == HB_IT_LOGICAL )
if( hb_itemType( pItem ) & HB_IT_LOGICAL )
pData->fSortRecNo = hb_itemGetL( pItem );
hb_itemPutL( pItem, fSortRecNo );
break;
@@ -7741,7 +7741,7 @@ static HB_ERRCODE hb_ntxRddInfo( LPRDDNODE pRDD, HB_USHORT uiIndex, HB_ULONG ulC
case RDDI_STRUCTORD:
{
HB_BOOL fStruct = pData->fStruct;
if( hb_itemType( pItem ) == HB_IT_LOGICAL )
if( hb_itemType( pItem ) & HB_IT_LOGICAL )
pData->fStruct = hb_itemGetL( pItem );
hb_itemPutL( pItem, fStruct );
break;
@@ -7750,7 +7750,7 @@ static HB_ERRCODE hb_ntxRddInfo( LPRDDNODE pRDD, HB_USHORT uiIndex, HB_ULONG ulC
case RDDI_STRICTSTRUCT:
{
HB_BOOL fStrictStruct = pData->fStrictStruct;
if( hb_itemType( pItem ) == HB_IT_LOGICAL )
if( hb_itemType( pItem ) & HB_IT_LOGICAL )
pData->fStrictStruct = hb_itemGetL( pItem );
hb_itemPutL( pItem, fStrictStruct );
break;
@@ -7759,7 +7759,7 @@ static HB_ERRCODE hb_ntxRddInfo( LPRDDNODE pRDD, HB_USHORT uiIndex, HB_ULONG ulC
case RDDI_MULTIKEY:
{
HB_BOOL fMultiKey = pData->fMultiKey;
if( hb_itemType( pItem ) == HB_IT_LOGICAL )
if( hb_itemType( pItem ) & HB_IT_LOGICAL )
pData->fMultiKey = hb_itemGetL( pItem );
hb_itemPutL( pItem, fMultiKey );
break;

View File

@@ -132,6 +132,7 @@ static HB_BOOL hb_exportBufSqlVar( PHB_FILEBUF pFileBuf, PHB_ITEM pValue,
switch( hb_itemType( pValue ) )
{
case HB_IT_STRING:
case HB_IT_MEMO:
{
HB_SIZE nLen = hb_itemGetCLen( pValue );
HB_SIZE nCnt = 0;

View File

@@ -1875,25 +1875,25 @@ static HB_ERRCODE hb_waRddInfo( LPRDDNODE pRDD, HB_USHORT uiIndex, HB_ULONG ulCo
case RDDI_STRICTREAD:
fResult = hb_setGetStrictRead();
if( hb_itemType( pItem ) == HB_IT_LOGICAL )
if( hb_itemType( pItem ) & HB_IT_LOGICAL )
hb_setSetItem( HB_SET_STRICTREAD, pItem );
hb_itemPutL( pItem, fResult );
break;
case RDDI_OPTIMIZE:
fResult = hb_setGetOptimize();
if( hb_itemType( pItem ) == HB_IT_LOGICAL )
if( hb_itemType( pItem ) & HB_IT_LOGICAL )
hb_setSetItem( HB_SET_OPTIMIZE, pItem );
hb_itemPutL( pItem, fResult );
break;
case RDDI_FORCEOPT:
fResult = hb_setGetForceOpt();
if( hb_itemType( pItem ) == HB_IT_LOGICAL )
if( hb_itemType( pItem ) & HB_IT_LOGICAL )
hb_setSetItem( HB_SET_FORCEOPT, pItem );
hb_itemPutL( pItem, fResult );
break;
case RDDI_AUTOOPEN:
fResult = hb_setGetAutOpen();
if( hb_itemType( pItem ) == HB_IT_LOGICAL )
if( hb_itemType( pItem ) & HB_IT_LOGICAL )
hb_setSetItem( HB_SET_AUTOPEN, pItem );
hb_itemPutL( pItem, fResult );
break;
@@ -1905,7 +1905,7 @@ static HB_ERRCODE hb_waRddInfo( LPRDDNODE pRDD, HB_USHORT uiIndex, HB_ULONG ulCo
break;
case RDDI_AUTOSHARE:
fResult = hb_setGetAutoShare();
if( hb_itemType( pItem ) == HB_IT_LOGICAL )
if( hb_itemType( pItem ) & HB_IT_LOGICAL )
hb_setSetItem( HB_SET_AUTOSHARE, pItem );
hb_itemPutL( pItem, fResult );
break;

View File

@@ -2603,9 +2603,9 @@ static HB_BOOL hb_gt_wvt_KeyEvent( PHB_GTWVT pWVT, UINT message, WPARAM wParam,
break;
case WM_CHAR:
if( ( iFlags & HB_KF_CTRL ) != 0 ? ( iFlags & HB_KF_ALT ) != 0 :
( ( iFlags & HB_KF_ALTGR ) != 0 ) )
/* workaround for AltGR and German keyboard */
if( ( ( iFlags & HB_KF_CTRL ) != 0 && ( iFlags & HB_KF_ALT ) != 0 ) ||
( iFlags & HB_KF_ALTGR ) != 0 )
/* workaround for AltGR and some German/Italian keyboard */
iFlags &= ~( HB_KF_CTRL | HB_KF_ALT | HB_KF_ALTGR );
case WM_SYSCHAR:
iFlags = hb_gt_wvt_UpdateKeyFlags( iFlags );