diff --git a/ChangeLog.txt b/ChangeLog.txt index 314a5d22a1..2c3686cb19 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -10,6 +10,36 @@ * Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment */ +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 + 2016-09-20 17:38 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * doc/xhb-diff.txt + added information about support for strong typed variables in [x]Harbour diff --git a/contrib/gtqtc/gtqtc1.cpp b/contrib/gtqtc/gtqtc1.cpp index 6b87e48d70..116ebe782a 100644 --- a/contrib/gtqtc/gtqtc1.cpp +++ b/contrib/gtqtc/gtqtc1.cpp @@ -47,19 +47,19 @@ #include "gtqtc.h" -static int s_GtId; -static HB_GT_FUNCS SuperTable; -#define HB_GTSUPER (&SuperTable) -#define HB_GTID_PTR (&s_GtId) +static int s_GtId; +static HB_GT_FUNCS SuperTable; +#define HB_GTSUPER ( &SuperTable ) +#define HB_GTID_PTR ( &s_GtId ) -#define HB_GTQTC_GET(p) ( ( PHB_GTQTC ) HB_GTLOCAL( p ) ) +#define HB_GTQTC_GET( p ) ( static_cast< PHB_GTQTC >( HB_GTLOCAL( p ) ) ) #if defined( HB_OS_UNIX ) -# if !defined( HB_QT_NEEDLOCKS ) +# if ! defined( HB_QT_NEEDLOCKS ) # define HB_QT_NEEDLOCKS # endif -# if !defined( HB_XLIB_NEEDLOCKS ) +# if ! defined( HB_XLIB_NEEDLOCKS ) /* # define HB_XLIB_NEEDLOCKS */ # endif #endif @@ -94,7 +94,7 @@ static void hb_gt_qtc_itemGetQString( PHB_ITEM pItem, QString * pqStr ) if( ( wStr = hb_itemGetStrU16( pItem, HB_CDP_ENDIAN_NATIVE, &hStr, &nSize ) ) != NULL ) { - * pqStr = QString::fromUtf16( ( const ushort * ) wStr, nSize ); + * pqStr = QString::fromUtf16( static_cast< const ushort * >( wStr ), nSize ); hb_strfree( hStr ); } } @@ -102,7 +102,7 @@ static void hb_gt_qtc_itemGetQString( PHB_ITEM pItem, QString * pqStr ) static PHB_ITEM hb_gt_qtc_itemPutQString( PHB_ITEM pItem, const QString * pqStr ) { return hb_itemPutStrLenU16( pItem, HB_CDP_ENDIAN_NATIVE, - ( const HB_WCHAR * ) pqStr->constData(), + static_cast< const HB_WCHAR * >( pqStr->utf16() ), pqStr->size() ); } @@ -1326,7 +1326,7 @@ static PHB_GTQTC hb_gt_qtc_new( PHB_GT pGT ) { PHB_GTQTC pQTC; - pQTC = ( PHB_GTQTC ) hb_xgrabz( sizeof( HB_GTQTC ) ); + pQTC = static_cast< PHB_GTQTC >( hb_xgrabz( sizeof( HB_GTQTC ) ) ); pQTC->pGT = pGT; pQTC->colors[ 0 ] = BLACK; @@ -1349,7 +1349,7 @@ static PHB_GTQTC hb_gt_qtc_new( PHB_GT pGT ) pQTC->iRows = QTC_DEFAULT_ROWS; pQTC->iCols = QTC_DEFAULT_COLS; - pQTC->textLine = ( QChar * ) hb_xgrab( pQTC->iCols * sizeof( QChar ) ); + pQTC->textLine = static_cast< QChar * >( hb_xgrab( pQTC->iCols * sizeof( QChar ) ) ); pQTC->iNewPosX = -1; pQTC->iNewPosY = -1; @@ -1541,8 +1541,8 @@ static HB_BOOL hb_gt_qtc_setWindowSize( PHB_GTQTC pQTC, int iRows, int iCols ) if( HB_GTSELF_RESIZE( pQTC->pGT, iRows, iCols ) ) { if( pQTC->iCols != iCols ) - pQTC->textLine = ( QChar * ) hb_xrealloc( pQTC->textLine, - iCols * sizeof( QChar ) ); + pQTC->textLine = static_cast< QChar * >( hb_xrealloc( pQTC->textLine, + iCols * sizeof( QChar ) ) ); if( pQTC->qWnd && ( iRows != pQTC->iRows || iCols != pQTC->iCols ) ) hb_gt_qtc_addKeyToInputQueue( pQTC, HB_K_RESIZE ); @@ -1660,7 +1660,7 @@ static void hb_gt_qtc_Init( PHB_GT pGT, HB_FHANDLE hFilenoStdin, HB_FHANDLE hFil } pQTC = hb_gt_qtc_new( pGT ); - HB_GTLOCAL( pGT ) = ( void * ) pQTC; + HB_GTLOCAL( pGT ) = static_cast< void * >( pQTC ); if( ! pQTC->qEventLoop ) pQTC->qEventLoop = new QEventLoop(); @@ -1944,14 +1944,14 @@ static HB_BOOL hb_gt_qtc_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo ) pInfo->pResult = hb_itemPutNI( pInfo->pResult, pQTC->cellY * pQTC->iRows ); iVal = hb_itemGetNI( pInfo->pNewVal ); if( iVal > 0 ) - HB_GTSELF_SETMODE( pGT, ( HB_USHORT ) ( iVal / pQTC->cellY ), pQTC->iCols ); + HB_GTSELF_SETMODE( pGT, static_cast< HB_USHORT >( iVal / pQTC->cellY ), pQTC->iCols ); break; case HB_GTI_SCREENWIDTH: pInfo->pResult = hb_itemPutNI( pInfo->pResult, pQTC->cellX * pQTC->iCols ); iVal = hb_itemGetNI( pInfo->pNewVal ); if( iVal > 0 ) - HB_GTSELF_SETMODE( pGT, pQTC->iRows, ( HB_USHORT ) ( iVal / pQTC->cellX ) ); + HB_GTSELF_SETMODE( pGT, pQTC->iRows, static_cast< HB_USHORT >( iVal / pQTC->cellX ) ); break; case HB_GTI_DESKTOPWIDTH: @@ -2283,7 +2283,7 @@ static HB_BOOL hb_gt_qtc_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo ) hb_gt_qtc_itemGetQString( pInfo->pNewVal, &qStr ); qImg = QImage( qStr ); } - else if( hb_arrayLen( pInfo->pNewVal ) == ( HB_SIZE ) + else if( hb_arrayLen( pInfo->pNewVal ) == static_cast< HB_SIZE > ( hb_arrayGetType( pInfo->pNewVal, 4 ) & HB_IT_NUMERIC ? 4 : 3 ) && ( hb_arrayGetType( pInfo->pNewVal, 1 ) & ( HB_IT_POINTER | HB_IT_STRING ) ) && ( hb_arrayGetType( pInfo->pNewVal, 2 ) & HB_IT_NUMERIC ) && @@ -2323,14 +2323,14 @@ static HB_BOOL hb_gt_qtc_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo ) while( data == NULL && iPad >= 8 ) { iPitch = ( iWidth * iDepth + iPad - 1 ) / iPad; - if( nSize == ( HB_SIZE ) ( iHeight * iPitch ) ) - data = ( const uchar * ) hb_arrayGetCPtr( pInfo->pNewVal, 1 ); + if( nSize == static_cast< HB_SIZE >( iHeight * iPitch ) ) + data = reinterpret_cast< const uchar * >( hb_arrayGetCPtr( pInfo->pNewVal, 1 ) ); else iPad >>= 1; } } else - data = ( const uchar * ) hb_arrayGetPtr( pInfo->pNewVal, 1 ); + data = reinterpret_cast< const uchar * >( hb_arrayGetPtr( pInfo->pNewVal, 1 ) ); } if( data != NULL ) { @@ -2798,7 +2798,7 @@ void QTConsole::copySelection( void ) if( ! HB_GTSELF_GETSCRCHAR( pQTC->pGT, iRow, iCol, &iColor, &bAttr, &usChar ) ) break; - qStr += ( QChar ) usChar; + qStr += QChar( usChar ); } if( rc.height() > 1 ) qStr += qStrEol; diff --git a/contrib/hbfoxpro/relfunc.c b/contrib/hbfoxpro/relfunc.c index b4114b0dc6..d4a15fb341 100644 --- a/contrib/hbfoxpro/relfunc.c +++ b/contrib/hbfoxpro/relfunc.c @@ -55,8 +55,8 @@ HB_FUNC( BETWEEN ) PHB_ITEM pItem = hb_param( 1, HB_IT_ANY ); int iResult1, iResult2; - if( hb_itemCompare( pItem, hb_param( 1, HB_IT_ANY ), HB_FALSE, &iResult1 ) && - hb_itemCompare( pItem, hb_param( 2, HB_IT_ANY ), HB_FALSE, &iResult2 ) ) + if( hb_itemCompare( pItem, hb_param( 2, HB_IT_ANY ), HB_FALSE, &iResult1 ) && + hb_itemCompare( pItem, hb_param( 3, HB_IT_ANY ), HB_FALSE, &iResult2 ) ) fResult = iResult1 >= 0 && iResult2 <= 0; } hb_retl( fResult ); diff --git a/contrib/rddads/ads1.c b/contrib/rddads/ads1.c index 9b9d3c7591..136c2c508f 100644 --- a/contrib/rddads/ads1.c +++ b/contrib/rddads/ads1.c @@ -4367,7 +4367,7 @@ static HB_ERRCODE adsOrderInfo( ADSAREAP pArea, HB_USHORT uiIndex, LPDBORDERINFO AdsIsIndexDescending( hIndex, &u16 ); #if ADS_LIB_VERSION >= 900 - if( pOrderInfo->itmNewVal && HB_IS_NUMERIC( pOrderInfo->itmNewVal ) ) + if( pOrderInfo->itmNewVal && HB_IS_LOGICAL( pOrderInfo->itmNewVal ) ) { if( hb_itemGetL( pOrderInfo->itmNewVal ) ? u16 == 0 : u16 != 0 ) AdsSetIndexDirection( hIndex, HB_TRUE ); diff --git a/contrib/rddads/adsx.c b/contrib/rddads/adsx.c index 7f736432e3..81ce43ce71 100644 --- a/contrib/rddads/adsx.c +++ b/contrib/rddads/adsx.c @@ -1223,7 +1223,7 @@ static HB_ERRCODE adsxOrderCreate( ADSXAREAP pArea, LPDBORDERCREATEINFO pOrderIn switch( hb_itemType( pResult ) ) { case HB_IT_STRING: - case HB_IT_STRING | HB_IT_MEMO: + case HB_IT_MEMO: bType = 'C'; uiLen = ( HB_USHORT ) hb_itemGetCLen( pResult ); if( uiLen > MIX_MAXKEYLEN ) diff --git a/contrib/rddsql/sqlmix.c b/contrib/rddsql/sqlmix.c index 77399ae1f9..ef95a2e829 100644 --- a/contrib/rddsql/sqlmix.c +++ b/contrib/rddsql/sqlmix.c @@ -1565,7 +1565,7 @@ static HB_ERRCODE sqlmixOrderCreate( SQLMIXAREAP pArea, LPDBORDERCREATEINFO pOrd switch( hb_itemType( pResult ) ) { case HB_IT_STRING: - case HB_IT_STRING | HB_IT_MEMO: + case HB_IT_MEMO: bType = 'C'; uiLen = ( HB_USHORT ) hb_itemGetCLen( pResult ); if( uiLen > MIX_MAXKEYLEN ) @@ -1650,7 +1650,7 @@ static HB_ERRCODE sqlmixOrderCreate( SQLMIXAREAP pArea, LPDBORDERCREATEINFO pOrd SELF_GOTO( &pArea->sqlarea.area, ulRecNo ); return HB_FAILURE; } - if( hb_itemType( pArea->sqlarea.area.valResult ) != HB_IT_LOGICAL ) + if( ( hb_itemType( pArea->sqlarea.area.valResult ) & HB_IT_LOGICAL ) == 0 ) { hb_itemRelease( pArea->sqlarea.area.valResult ); pArea->sqlarea.area.valResult = 0; @@ -1750,7 +1750,7 @@ static HB_ERRCODE sqlmixOrderInfo( SQLMIXAREAP pArea, HB_USHORT uiIndex, LPDBORD pArea->sqlarea.area.valResult = NULL; if( SELF_EVALBLOCK( &pArea->sqlarea.area, pForItem ) == HB_SUCCESS ) { - if( hb_itemType( pArea->sqlarea.area.valResult ) == HB_IT_LOGICAL ) + if( hb_itemType( pArea->sqlarea.area.valResult ) & HB_IT_LOGICAL ) { pTag->szForExpr = hb_strdup( pForExpr ); pTag->pForItem = pForItem; diff --git a/include/hbapi.h b/include/hbapi.h index e15e903565..9f72fdf692 100644 --- a/include/hbapi.h +++ b/include/hbapi.h @@ -66,37 +66,37 @@ HB_EXTERN_BEGIN /* items types and type checking macros */ -#define HB_IT_NIL ( ( HB_TYPE ) 0x00000 ) -#define HB_IT_POINTER ( ( HB_TYPE ) 0x00001 ) -#define HB_IT_INTEGER ( ( HB_TYPE ) 0x00002 ) -#define HB_IT_HASH ( ( HB_TYPE ) 0x00004 ) -#define HB_IT_LONG ( ( HB_TYPE ) 0x00008 ) -#define HB_IT_DOUBLE ( ( HB_TYPE ) 0x00010 ) -#define HB_IT_DATE ( ( HB_TYPE ) 0x00020 ) -#define HB_IT_TIMESTAMP ( ( HB_TYPE ) 0x00040 ) -#define HB_IT_LOGICAL ( ( HB_TYPE ) 0x00080 ) -#define HB_IT_SYMBOL ( ( HB_TYPE ) 0x00100 ) -#define HB_IT_ALIAS ( ( HB_TYPE ) 0x00200 ) -#define HB_IT_STRING ( ( HB_TYPE ) 0x00400 ) -#define HB_IT_MEMOFLAG ( ( HB_TYPE ) 0x00800 ) +#define HB_IT_NIL 0x00000 +#define HB_IT_POINTER 0x00001 +#define HB_IT_INTEGER 0x00002 +#define HB_IT_HASH 0x00004 +#define HB_IT_LONG 0x00008 +#define HB_IT_DOUBLE 0x00010 +#define HB_IT_DATE 0x00020 +#define HB_IT_TIMESTAMP 0x00040 +#define HB_IT_LOGICAL 0x00080 +#define HB_IT_SYMBOL 0x00100 +#define HB_IT_ALIAS 0x00200 +#define HB_IT_STRING 0x00400 +#define HB_IT_MEMOFLAG 0x00800 #define HB_IT_MEMO ( HB_IT_MEMOFLAG | HB_IT_STRING ) -#define HB_IT_BLOCK ( ( HB_TYPE ) 0x01000 ) -#define HB_IT_BYREF ( ( HB_TYPE ) 0x02000 ) -#define HB_IT_MEMVAR ( ( HB_TYPE ) 0x04000 ) -#define HB_IT_ARRAY ( ( HB_TYPE ) 0x08000 ) -#define HB_IT_ENUM ( ( HB_TYPE ) 0x10000 ) -#define HB_IT_EXTREF ( ( HB_TYPE ) 0x20000 ) -#define HB_IT_DEFAULT ( ( HB_TYPE ) 0x40000 ) -#define HB_IT_RECOVER ( ( HB_TYPE ) 0x80000 ) +#define HB_IT_BLOCK 0x01000 +#define HB_IT_BYREF 0x02000 +#define HB_IT_MEMVAR 0x04000 +#define HB_IT_ARRAY 0x08000 +#define HB_IT_ENUM 0x10000 +#define HB_IT_EXTREF 0x20000 +#define HB_IT_DEFAULT 0x40000 +#define HB_IT_RECOVER 0x80000 #define HB_IT_OBJECT HB_IT_ARRAY -#define HB_IT_NUMERIC ( ( HB_TYPE ) ( HB_IT_INTEGER | HB_IT_LONG | HB_IT_DOUBLE ) ) -#define HB_IT_NUMINT ( ( HB_TYPE ) ( HB_IT_INTEGER | HB_IT_LONG ) ) -#define HB_IT_DATETIME ( ( HB_TYPE ) ( HB_IT_DATE | HB_IT_TIMESTAMP ) ) -#define HB_IT_ANY ( ( HB_TYPE ) 0xFFFFFFFF ) -#define HB_IT_COMPLEX ( ( HB_TYPE ) ( HB_IT_BLOCK | HB_IT_ARRAY | HB_IT_HASH | HB_IT_POINTER | /* HB_IT_MEMVAR | HB_IT_ENUM | HB_IT_EXTREF |*/ HB_IT_BYREF | HB_IT_STRING ) ) -#define HB_IT_GCITEM ( ( HB_TYPE ) ( HB_IT_BLOCK | HB_IT_ARRAY | HB_IT_HASH | HB_IT_POINTER | HB_IT_BYREF ) ) -#define HB_IT_EVALITEM ( ( HB_TYPE ) ( HB_IT_BLOCK | HB_IT_SYMBOL ) ) -#define HB_IT_HASHKEY ( ( HB_TYPE ) ( HB_IT_INTEGER | HB_IT_LONG | HB_IT_DOUBLE | HB_IT_DATE | HB_IT_TIMESTAMP | HB_IT_STRING | HB_IT_POINTER ) ) +#define HB_IT_NUMERIC ( HB_IT_INTEGER | HB_IT_LONG | HB_IT_DOUBLE ) +#define HB_IT_NUMINT ( HB_IT_INTEGER | HB_IT_LONG ) +#define HB_IT_DATETIME ( HB_IT_DATE | HB_IT_TIMESTAMP ) +#define HB_IT_ANY 0xFFFFFFFF +#define HB_IT_COMPLEX ( HB_IT_BLOCK | HB_IT_ARRAY | HB_IT_HASH | HB_IT_POINTER | /* HB_IT_MEMVAR | HB_IT_ENUM | HB_IT_EXTREF |*/ HB_IT_BYREF | HB_IT_STRING ) +#define HB_IT_GCITEM ( HB_IT_BLOCK | HB_IT_ARRAY | HB_IT_HASH | HB_IT_POINTER | HB_IT_BYREF ) +#define HB_IT_EVALITEM ( HB_IT_BLOCK | HB_IT_SYMBOL ) +#define HB_IT_HASHKEY ( HB_IT_INTEGER | HB_IT_LONG | HB_IT_DOUBLE | HB_IT_DATE | HB_IT_TIMESTAMP | HB_IT_STRING | HB_IT_POINTER ) #if 0 diff --git a/include/hbvmpub.h b/include/hbvmpub.h index 14387754af..35d11e9863 100644 --- a/include/hbvmpub.h +++ b/include/hbvmpub.h @@ -156,7 +156,11 @@ struct _HB_SYMB; # undef _HB_STACK_MACROS_ /* This is ugly trick but works without speed overhead */ -# define HB_ITEM_TYPERAW( p ) ( * ( HB_TYPE * ) ( p ) ) +#if defined( __cplusplus ) +# define HB_ITEM_TYPERAW( p ) ( * static_cast< HB_TYPE * >( p ) ) +#else +# define HB_ITEM_TYPERAW( p ) ( * ( HB_TYPE * ) ( p ) ) +#endif /* if you do not like it then use this definition */ /* # define HB_ITEM_TYPERAW( p ) ( hb_itemType( p ) ) */ @@ -228,19 +232,19 @@ typedef struct _HB_FUNC_LIST } HB_FUNC_LIST, * PHB_FUNC_LIST; /* Harbour Functions scope ( HB_SYMBOLSCOPE ) */ -#define HB_FS_PUBLIC ( ( HB_SYMBOLSCOPE ) 0x0001 ) -#define HB_FS_STATIC ( ( HB_SYMBOLSCOPE ) 0x0002 ) -#define HB_FS_FIRST ( ( HB_SYMBOLSCOPE ) 0x0004 ) -#define HB_FS_INIT ( ( HB_SYMBOLSCOPE ) 0x0008 ) -#define HB_FS_EXIT ( ( HB_SYMBOLSCOPE ) 0x0010 ) -#define HB_FS_MESSAGE ( ( HB_SYMBOLSCOPE ) 0x0020 ) -#define HB_FS_MEMVAR ( ( HB_SYMBOLSCOPE ) 0x0080 ) -#define HB_FS_PCODEFUNC ( ( HB_SYMBOLSCOPE ) 0x0100 ) -#define HB_FS_LOCAL ( ( HB_SYMBOLSCOPE ) 0x0200 ) -#define HB_FS_DYNCODE ( ( HB_SYMBOLSCOPE ) 0x0400 ) -#define HB_FS_DEFERRED ( ( HB_SYMBOLSCOPE ) 0x0800 ) -#define HB_FS_FRAME ( ( HB_SYMBOLSCOPE ) 0x1000 ) -#define HB_FS_USED ( ( HB_SYMBOLSCOPE ) 0x2000 ) +#define HB_FS_PUBLIC 0x0001 +#define HB_FS_STATIC 0x0002 +#define HB_FS_FIRST 0x0004 +#define HB_FS_INIT 0x0008 +#define HB_FS_EXIT 0x0010 +#define HB_FS_MESSAGE 0x0020 +#define HB_FS_MEMVAR 0x0080 +#define HB_FS_PCODEFUNC 0x0100 +#define HB_FS_LOCAL 0x0200 +#define HB_FS_DYNCODE 0x0400 +#define HB_FS_DEFERRED 0x0800 +#define HB_FS_FRAME 0x1000 +#define HB_FS_USED 0x2000 #define HB_FS_INITEXIT ( HB_FS_INIT | HB_FS_EXIT ) diff --git a/src/rdd/dbfcdx/dbfcdx1.c b/src/rdd/dbfcdx/dbfcdx1.c index 7c03561ac3..97d95a330a 100644 --- a/src/rdd/dbfcdx/dbfcdx1.c +++ b/src/rdd/dbfcdx/dbfcdx1.c @@ -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 ) ); diff --git a/src/rdd/dbfnsx/dbfnsx1.c b/src/rdd/dbfnsx/dbfnsx1.c index 11ca9ae6ec..eaeb1ac6ec 100644 --- a/src/rdd/dbfnsx/dbfnsx1.c +++ b/src/rdd/dbfnsx/dbfnsx1.c @@ -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; diff --git a/src/rdd/dbfntx/dbfntx1.c b/src/rdd/dbfntx/dbfntx1.c index 8c6b928b2e..0d5bc56fa0 100644 --- a/src/rdd/dbfntx/dbfntx1.c +++ b/src/rdd/dbfntx/dbfntx1.c @@ -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; diff --git a/src/rdd/dbsql.c b/src/rdd/dbsql.c index 7a86e133f9..9054652ee2 100644 --- a/src/rdd/dbsql.c +++ b/src/rdd/dbsql.c @@ -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; diff --git a/src/rdd/workarea.c b/src/rdd/workarea.c index b2194fc4d2..329e69cc8f 100644 --- a/src/rdd/workarea.c +++ b/src/rdd/workarea.c @@ -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; diff --git a/src/rtl/gtwvt/gtwvt.c b/src/rtl/gtwvt/gtwvt.c index 72689e8151..c2a0e52501 100644 --- a/src/rtl/gtwvt/gtwvt.c +++ b/src/rtl/gtwvt/gtwvt.c @@ -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 );