From ee330f892965eaab4ca0de7dc8110f7896595e12 Mon Sep 17 00:00:00 2001 From: Przemyslaw Czerpak Date: Fri, 30 Jul 2010 11:38:53 +0000 Subject: [PATCH] 2010-07-30 13:38 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/src/rdd/workarea.c * harbour/src/rdd/wacore.c * harbour/src/rdd/dbcmd.c * harbour/src/rdd/dbf1.c * harbour/src/rdd/dbcmd53.c * harbour/src/rdd/usrrdd/usrrdd.c * harbour/src/rdd/wafunc.c * harbour/src/rdd/hbsix/sxcompr.c * casting and type modifications to eliminate possible lost data warnings --- harbour/ChangeLog | 12 +++++ harbour/src/rdd/dbcmd.c | 4 +- harbour/src/rdd/dbcmd53.c | 12 ++--- harbour/src/rdd/dbf1.c | 31 ++++++------ harbour/src/rdd/hbsix/sxcompr.c | 69 +++++++++++++------------- harbour/src/rdd/usrrdd/usrrdd.c | 86 +++++++++++++++++++-------------- harbour/src/rdd/wacore.c | 2 +- harbour/src/rdd/wafunc.c | 9 ++-- harbour/src/rdd/workarea.c | 2 +- 9 files changed, 126 insertions(+), 101 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index eae69a02d5..799d6780ed 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,18 @@ The license applies to all entries newer than 2009-04-28. */ +2010-07-30 13:38 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + * harbour/src/rdd/workarea.c + * harbour/src/rdd/wacore.c + * harbour/src/rdd/dbcmd.c + * harbour/src/rdd/dbf1.c + * harbour/src/rdd/dbcmd53.c + * harbour/src/rdd/usrrdd/usrrdd.c + * harbour/src/rdd/wafunc.c + * harbour/src/rdd/hbsix/sxcompr.c + * casting and type modifications to eliminate possible lost data + warnings + 2010-07-30 10:43 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + contrib/hbmisc/bbabble.c + contrib/hbmisc/tests/testbbab.prg diff --git a/harbour/src/rdd/dbcmd.c b/harbour/src/rdd/dbcmd.c index 0d4064b13f..ca6e4a846b 100644 --- a/harbour/src/rdd/dbcmd.c +++ b/harbour/src/rdd/dbcmd.c @@ -1747,7 +1747,7 @@ HB_FUNC( DBRSELECT ) /* () --> nWorkArea */ AREAP pArea = ( AREAP ) hb_rddGetCurrentWorkAreaPointer(); if( pArea ) - SELF_RELAREA( pArea, hb_parni( 1 ), &uiWorkArea ); + SELF_RELAREA( pArea, ( HB_USHORT ) hb_parni( 1 ), &uiWorkArea ); hb_retni( uiWorkArea ); } @@ -2076,7 +2076,7 @@ HB_FUNC( HB_RDDINFO ) if( pRDDNode && pIndex ) { PHB_ITEM pInfo = hb_itemNew( pParam ); - SELF_RDDINFO( pRDDNode, hb_itemGetNI( pIndex ), ulConnection, pInfo ); + SELF_RDDINFO( pRDDNode, ( HB_USHORT ) hb_itemGetNI( pIndex ), ulConnection, pInfo ); hb_itemReturnRelease( pInfo ); } else diff --git a/harbour/src/rdd/dbcmd53.c b/harbour/src/rdd/dbcmd53.c index 5638ecc98c..408dfe4b4a 100644 --- a/harbour/src/rdd/dbcmd53.c +++ b/harbour/src/rdd/dbcmd53.c @@ -333,7 +333,7 @@ HB_FUNC( DBINFO ) { PHB_ITEM pInfo = hb_itemNew( hb_param( 2, HB_IT_ANY ) ); - SELF_INFO( pArea, hb_itemGetNI( pIndex ), pInfo ); + SELF_INFO( pArea, ( HB_USHORT ) hb_itemGetNI( pIndex ), pInfo ); hb_itemReturnRelease( pInfo ); } else @@ -367,7 +367,7 @@ HB_FUNC( DBORDERINFO ) pOrderInfo.itmResult = hb_itemNew( NULL ); pOrderInfo.itmCobExpr = NULL; pOrderInfo.fAllTags = HB_FALSE; - SELF_ORDINFO( pArea, hb_itemGetNI( pType ), &pOrderInfo ); + SELF_ORDINFO( pArea, ( HB_USHORT ) hb_itemGetNI( pType ), &pOrderInfo ); hb_itemReturnRelease( pOrderInfo.itmResult ); } else @@ -393,7 +393,7 @@ HB_FUNC( DBFIELDINFO ) { PHB_ITEM pInfo = hb_itemNew( hb_param( 3, HB_IT_ANY ) ); - SELF_FIELDINFO( pArea, uiIndex, hb_itemGetNI( pType ), pInfo ); + SELF_FIELDINFO( pArea, ( HB_USHORT ) uiIndex, hb_itemGetNI( pType ), pInfo ); hb_itemReturnRelease( pInfo ); } else @@ -417,7 +417,7 @@ HB_FUNC( DBRECORDINFO ) { PHB_ITEM pInfo = hb_itemNew( hb_param( 3, HB_IT_ANY ) ); - SELF_RECINFO( pArea, pRecNo, hb_itemGetNI( pType ), pInfo ); + SELF_RECINFO( pArea, pRecNo, ( HB_USHORT ) hb_itemGetNI( pType ), pInfo ); hb_itemReturnRelease( pInfo ); } else @@ -451,7 +451,7 @@ HB_FUNC( DBFILEGET ) uiIndex <= uiFields ) { hb_retl( SELF_GETVALUEFILE( pArea, uiIndex, hb_parc( 2 ), - hb_itemGetNI( pMode ) ) == HB_SUCCESS ); + ( HB_USHORT ) hb_itemGetNI( pMode ) ) == HB_SUCCESS ); } else hb_errRT_DBCMD( EG_ARG, EDBCMD_DBFILEGETBADPARAMETER, NULL, HB_ERR_FUNCNAME ); @@ -481,7 +481,7 @@ HB_FUNC( DBFILEPUT ) uiIndex <= uiFields ) { hb_retl( SELF_PUTVALUEFILE( pArea, uiIndex, hb_parc( 2 ), - hb_parni( 3 ) ) == HB_SUCCESS ); + ( HB_USHORT ) hb_parni( 3 ) ) == HB_SUCCESS ); } else hb_errRT_DBCMD( EG_ARG, EDBCMD_DBFILEPUTBADPARAMETER, NULL, HB_ERR_FUNCNAME ); diff --git a/harbour/src/rdd/dbf1.c b/harbour/src/rdd/dbf1.c index 9763ee49bc..3fe1462106 100644 --- a/harbour/src/rdd/dbf1.c +++ b/harbour/src/rdd/dbf1.c @@ -2154,7 +2154,7 @@ static HB_ERRCODE hb_dbfPutRec( DBFAREAP pArea, const HB_BYTE * pBuffer ) else /* if( pArea->fRecordChanged ) */ { HB_BYTE * pRecord = pArea->pRecord; - HB_USHORT uiWritten; + HB_SIZE nWritten; if( pArea->pCryptKey ) { @@ -2173,14 +2173,14 @@ static HB_ERRCODE hb_dbfPutRec( DBFAREAP pArea, const HB_BYTE * pBuffer ) } /* Write data to file */ - uiWritten = hb_fileWriteAt( pArea->pDataFile, pRecord, pArea->uiRecordLen, + nWritten = hb_fileWriteAt( pArea->pDataFile, pRecord, pArea->uiRecordLen, ( HB_FOFFSET ) pArea->uiHeaderLen + ( HB_FOFFSET ) ( pArea->ulRecNo - 1 ) * ( HB_FOFFSET ) pArea->uiRecordLen ); if( pRecord != pArea->pRecord ) hb_xfree( pRecord ); - if( uiWritten != pArea->uiRecordLen ) + if( nWritten != ( HB_SIZE ) pArea->uiRecordLen ) { hb_dbfErrorRT( pArea, EG_WRITE, EDBF_WRITE, pArea->szDataFileName, hb_fsError(), 0, NULL ); @@ -2779,7 +2779,7 @@ static HB_ERRCODE hb_dbfCreate( DBFAREAP pArea, LPDBOPENINFO pCreateInfo ) pArea->lpdbOpenInfo = NULL; return HB_FAILURE; } - pArea->bLockType = hb_itemGetNI( pItem ); + pArea->bLockType = ( HB_BYTE ) hb_itemGetNI( pItem ); if( pArea->bLockType == 0 ) { pArea->bLockType = DB_DBFLOCK_CLIP; @@ -3595,7 +3595,7 @@ static HB_ERRCODE hb_dbfNewArea( DBFAREAP pArea ) { PHB_ITEM pItem = hb_itemPutNI( NULL, 0 ); if( SELF_RDDINFO( SELF_RDDNODE( &pArea->area ), RDDI_TABLETYPE, 0, pItem ) == HB_SUCCESS ) - pArea->bTableType = hb_itemGetNI( pItem ); + pArea->bTableType = ( HB_BYTE ) hb_itemGetNI( pItem ); hb_itemRelease( pItem ); } @@ -3665,7 +3665,7 @@ static HB_ERRCODE hb_dbfOpen( DBFAREAP pArea, LPDBOPENINFO pOpenInfo ) pArea->lpdbOpenInfo = NULL; return HB_FAILURE; } - pArea->bLockType = hb_itemGetNI( pItem ); + pArea->bLockType = ( HB_BYTE ) hb_itemGetNI( pItem ); if( !pArea->bLockType ) pArea->bLockType = DB_DBFLOCK_CLIP; } @@ -4950,7 +4950,6 @@ static HB_ERRCODE hb_dbfOpenMemFile( DBFAREAP pArea, LPDBOPENINFO pOpenInfo ) static HB_ERRCODE hb_dbfPutValueFile( DBFAREAP pArea, HB_USHORT uiIndex, const char * szFile, HB_USHORT uiMode ) { HB_ERRCODE errCode = HB_SUCCESS; - HB_USHORT uiRead; LPFIELD pField; HB_TRACE(HB_TR_DEBUG, ("hb_dbfPutValueFile(%p, %hu, %s, %hu)", pArea, uiIndex, szFile, uiMode)); @@ -4990,11 +4989,13 @@ static HB_ERRCODE hb_dbfPutValueFile( DBFAREAP pArea, HB_USHORT uiIndex, const c } else { - uiRead = hb_fileReadAt( pFile, pArea->pRecord + pArea->pFieldOffset[ uiIndex ], - pField->uiLen, 0 ); - if( uiRead != ( HB_USHORT ) FS_ERROR && uiRead < pField->uiLen ) - memset( pArea->pRecord + pArea->pFieldOffset[ uiIndex ] + uiRead, - ' ', pField->uiLen - uiRead ); + HB_SIZE nRead = hb_fileReadAt( pFile, pArea->pRecord + + pArea->pFieldOffset[ uiIndex ], + pField->uiLen, 0 ); + if( nRead != ( HB_SIZE ) FS_ERROR && + nRead < ( HB_SIZE ) pField->uiLen ) + memset( pArea->pRecord + pArea->pFieldOffset[ uiIndex ] + nRead, + ' ', pField->uiLen - nRead ); hb_fileClose( pFile ); } } @@ -5539,7 +5540,7 @@ static HB_ERRCODE hb_dbfRddInfo( LPRDDNODE pRDD, HB_USHORT uiIndex, HB_ULONG ulC { case DB_DBF_STD: /* standard dBase/Clipper DBF file */ case DB_DBF_VFP: /* VFP DBF file */ - pData->bTableType = iType; + pData->bTableType = ( HB_BYTE ) iType; } break; } @@ -5558,7 +5559,7 @@ static HB_ERRCODE hb_dbfRddInfo( LPRDDNODE pRDD, HB_USHORT uiIndex, HB_ULONG ulC #ifndef HB_LONG_LONG_OFF case DB_DBFLOCK_HB64: #endif - pData->bLockType = ( int ) iScheme; + pData->bLockType = ( HB_BYTE ) iScheme; } break; } @@ -5779,7 +5780,7 @@ HB_FUNC( DBF_GETFUNCTABLE ) uiCount = ( HB_USHORT * ) hb_parptr( 1 ); pTable = ( RDDFUNCS * ) hb_parptr( 2 ); - uiRddId = hb_parni( 4 ); + uiRddId = ( HB_USHORT ) hb_parni( 4 ); HB_TRACE(HB_TR_DEBUG, ("DBF_GETFUNCTABLE(%p, %p)", uiCount, pTable)); diff --git a/harbour/src/rdd/hbsix/sxcompr.c b/harbour/src/rdd/hbsix/sxcompr.c index 9510e3cd46..52a936da8b 100644 --- a/harbour/src/rdd/hbsix/sxcompr.c +++ b/harbour/src/rdd/hbsix/sxcompr.c @@ -318,7 +318,7 @@ static HB_BOOL hb_LZSSxDecode( PHB_LZSSX_COMPR pCompr ) if( ( c = hb_LZSSxRead( pCompr ) ) == -1 ) break; /* simple trick to reduce number of shift operations */ - itemMask = c | 0xff00; + itemMask = ( HB_USHORT ) ( c | 0xff00 ); } if( ( c = hb_LZSSxRead( pCompr ) ) == -1 ) break; @@ -385,8 +385,8 @@ static void hb_LZSSxNodeInsert( PHB_LZSSX_COMPR pCompr, int r ) p = pCompr->right[ p ]; else { - pCompr->right[ p ] = r; - pCompr->parent[ r ] = p; + pCompr->right[ p ] = ( HB_SHORT ) r; + pCompr->parent[ r ] = ( HB_SHORT ) p; return; } } @@ -396,8 +396,8 @@ static void hb_LZSSxNodeInsert( PHB_LZSSX_COMPR pCompr, int r ) p = pCompr->left[ p ]; else { - pCompr->left[ p ] = r; - pCompr->parent[ r ] = p; + pCompr->left[ p ] = ( HB_SHORT ) r; + pCompr->parent[ r ] = ( HB_SHORT ) p; return; } } @@ -408,8 +408,8 @@ static void hb_LZSSxNodeInsert( PHB_LZSSX_COMPR pCompr, int r ) } if( i > pCompr->match_length ) { - pCompr->match_offset = p; - pCompr->match_length = i; + pCompr->match_offset = ( HB_SHORT ) p; + pCompr->match_length = ( HB_SHORT ) i; if( i >= MAXLENGTH ) break; } @@ -417,12 +417,12 @@ static void hb_LZSSxNodeInsert( PHB_LZSSX_COMPR pCompr, int r ) pCompr->parent[ r ] = pCompr->parent[ p ]; pCompr->left[ r ] = pCompr->left[ p ]; pCompr->right[ r ] = pCompr->right[ p ]; - pCompr->parent[ pCompr->left[ p ] ] = r; - pCompr->parent[ pCompr->right[ p ] ] = r; + pCompr->parent[ pCompr->left[ p ] ] = ( HB_SHORT ) r; + pCompr->parent[ pCompr->right[ p ] ] = ( HB_SHORT ) r; if( pCompr->right[ pCompr->parent[ p ] ] == p ) - pCompr->right[ pCompr->parent[ p ] ] = r; + pCompr->right[ pCompr->parent[ p ] ] = ( HB_SHORT ) r; else - pCompr->left[ pCompr->parent[ p ] ] = r; + pCompr->left[ pCompr->parent[ p ] ] = ( HB_SHORT ) r; pCompr->parent[ p ] = DUMMYNODE; } @@ -448,16 +448,16 @@ static void hb_LZSSxNodeDelete( PHB_LZSSX_COMPR pCompr, int p ) pCompr->right[ pCompr->parent[ q ] ] = pCompr->left[ q ]; pCompr->parent[ pCompr->left[ q ] ] = pCompr->parent[ q ]; pCompr->left[ q ] = pCompr->left[ p ]; - pCompr->parent[ pCompr->left[ p ] ] = q; + pCompr->parent[ pCompr->left[ p ] ] = ( HB_SHORT ) q; } pCompr->right[ q ] = pCompr->right[ p ]; - pCompr->parent[ pCompr->right[ p ] ] = q; + pCompr->parent[ pCompr->right[ p ] ] = ( HB_SHORT ) q; } pCompr->parent[ q ] = pCompr->parent[ p ]; if( pCompr->right[ pCompr->parent[ p ] ] == p ) - pCompr->right[ pCompr->parent[ p ] ] = q; + pCompr->right[ pCompr->parent[ p ] ] = ( HB_SHORT ) q; else - pCompr->left[ pCompr->parent[ p ] ] = q; + pCompr->left[ pCompr->parent[ p ] ] = ( HB_SHORT ) q; pCompr->parent[ p ] = DUMMYNODE; } } @@ -467,8 +467,7 @@ static HB_SIZE hb_LZSSxEncode( PHB_LZSSX_COMPR pCompr ) HB_UCHAR itemSet[ ITEMSETSIZE ]; HB_UCHAR itemMask; HB_SIZE nSize = 0; - int iItem; - short int i, c, len, r, s, last_match_length; + HB_SHORT i, c, len, r, s, last_match_length, item; for( i = RBUFLENGTH + 1; i < RBUFLENGTH + 257; i++ ) pCompr->right[i] = DUMMYNODE; @@ -476,13 +475,13 @@ static HB_SIZE hb_LZSSxEncode( PHB_LZSSX_COMPR pCompr ) pCompr->parent[ i ] = DUMMYNODE; itemSet[ 0 ] = 0; - iItem = itemMask = 1; + item = itemMask = 1; s = 0; r = RBUFLENGTH - MAXLENGTH; for( len = 0; len < MAXLENGTH; len++ ) { - if( ( c = hb_LZSSxRead( pCompr ) ) == -1 ) + if( ( c = ( HB_SHORT ) hb_LZSSxRead( pCompr ) ) == -1 ) break; pCompr->ring_buffer[ r + len ] = ( HB_UCHAR ) c; } @@ -501,56 +500,56 @@ static HB_SIZE hb_LZSSxEncode( PHB_LZSSX_COMPR pCompr ) { pCompr->match_length = 1; itemSet[ 0 ] |= itemMask; - itemSet[ iItem++ ] = pCompr->ring_buffer[ r ]; + itemSet[ item++ ] = pCompr->ring_buffer[ r ]; } else { - itemSet[iItem++] = LZSS_ITMLO( pCompr->match_offset, - pCompr->match_length ); - itemSet[iItem++] = LZSS_ITMHI( pCompr->match_offset, - pCompr->match_length ); + itemSet[ item++ ] = LZSS_ITMLO( pCompr->match_offset, + pCompr->match_length ); + itemSet[ item++ ] = LZSS_ITMHI( pCompr->match_offset, + pCompr->match_length ); } if( ( itemMask <<= 1 ) == 0 ) { - for( i = 0; i < iItem; i++ ) + for( i = 0; i < item; i++ ) { if( !hb_LZSSxWrite( pCompr, itemSet[ i ] ) ) return ( HB_SIZE ) -1; } - nSize += iItem; + nSize += item; itemSet[ 0 ] = 0; - iItem = itemMask = 1; + item = itemMask = 1; } last_match_length = pCompr->match_length; for( i = 0; i < last_match_length && - ( c = hb_LZSSxRead( pCompr ) ) != -1; i++ ) + ( c = ( HB_SHORT ) hb_LZSSxRead( pCompr ) ) != -1; i++ ) { hb_LZSSxNodeDelete( pCompr, s ); pCompr->ring_buffer[ s ] = ( HB_UCHAR ) c; if( s < MAXLENGTH - 1 ) pCompr->ring_buffer[ s + RBUFLENGTH ] = ( HB_UCHAR ) c; - s = ( short int ) RBUFINDEX( s + 1 ); - r = ( short int ) RBUFINDEX( r + 1 ); + s = ( HB_SHORT ) RBUFINDEX( s + 1 ); + r = ( HB_SHORT ) RBUFINDEX( r + 1 ); hb_LZSSxNodeInsert( pCompr, r ); } while( i++ < last_match_length ) { hb_LZSSxNodeDelete( pCompr, s ); - s = ( short int ) RBUFINDEX( s + 1 ); - r = ( short int ) RBUFINDEX( r + 1 ); + s = ( HB_SHORT ) RBUFINDEX( s + 1 ); + r = ( HB_SHORT ) RBUFINDEX( r + 1 ); if( --len ) hb_LZSSxNodeInsert( pCompr, r ); } } while( len > 0 ); - if( iItem > 1 ) + if( item > 1 ) { - for( i = 0; i < iItem; i++ ) + for( i = 0; i < item; i++ ) { if( !hb_LZSSxWrite( pCompr, itemSet[ i ] ) ) return ( HB_SIZE ) -1; } - nSize += iItem; + nSize += item; } if( !hb_LZSSxFlush( pCompr ) ) diff --git a/harbour/src/rdd/usrrdd/usrrdd.c b/harbour/src/rdd/usrrdd/usrrdd.c index 11cb88fc40..1e6553166c 100644 --- a/harbour/src/rdd/usrrdd/usrrdd.c +++ b/harbour/src/rdd/usrrdd/usrrdd.c @@ -210,10 +210,10 @@ static HB_BOOL hb_usrItemToFieldInfo( PHB_ITEM pItem, LPDBFIELDINFO pFieldInfo ) if( pItem && hb_arrayLen( pItem ) == UR_FI_SIZE ) { pFieldInfo->atomName = hb_usrArrayGetC( pItem, UR_FI_NAME ); - pFieldInfo->uiType = hb_arrayGetNI( pItem, UR_FI_TYPE ); - pFieldInfo->uiTypeExtended = hb_arrayGetNI( pItem, UR_FI_TYPEEXT ); - pFieldInfo->uiLen = hb_arrayGetNI( pItem, UR_FI_LEN ); - pFieldInfo->uiDec = hb_arrayGetNI( pItem, UR_FI_DEC ); + pFieldInfo->uiType = ( HB_USHORT ) hb_arrayGetNI( pItem, UR_FI_TYPE ); + pFieldInfo->uiTypeExtended = ( HB_USHORT ) hb_arrayGetNI( pItem, UR_FI_TYPEEXT ); + pFieldInfo->uiLen = ( HB_USHORT ) hb_arrayGetNI( pItem, UR_FI_LEN ); + pFieldInfo->uiDec = ( HB_USHORT ) hb_arrayGetNI( pItem, UR_FI_DEC ); return HB_TRUE; } return HB_FALSE; @@ -244,7 +244,7 @@ static HB_BOOL hb_usrItemToOpenInfo( PHB_ITEM pItem, LPDBOPENINFO pOpenInfo ) { if( pItem && hb_arrayLen( pItem ) == UR_OI_SIZE ) { - pOpenInfo->uiArea = hb_arrayGetNI( pItem, UR_OI_AREA ); + pOpenInfo->uiArea = ( HB_USHORT ) hb_arrayGetNI( pItem, UR_OI_AREA ); pOpenInfo->abName = hb_usrArrayGetC( pItem, UR_OI_NAME ); pOpenInfo->atomAlias = hb_usrArrayGetC( pItem, UR_OI_ALIAS ); pOpenInfo->fShared = hb_arrayGetL( pItem, UR_OI_SHARED ); @@ -339,8 +339,8 @@ static HB_BOOL hb_usrItemToLockInfo( PHB_ITEM pItem, LPDBLOCKINFO pLockInfo ) if( pItem && hb_arrayLen( pItem ) == UR_LI_SIZE ) { pLockInfo->itmRecID = hb_usrArrayGet( pItem, UR_LI_RECORD, HB_IT_ANY ); - pLockInfo->uiMethod = hb_arrayGetNI( pItem, UR_LI_METHOD ); - pLockInfo->fResult = hb_arrayGetL( pItem, UR_LI_RESULT ); + pLockInfo->uiMethod = ( HB_USHORT ) hb_arrayGetNI( pItem, UR_LI_METHOD ); + pLockInfo->fResult = ( HB_USHORT ) hb_arrayGetL( pItem, UR_LI_RESULT ); return HB_TRUE; } return HB_FALSE; @@ -460,7 +460,7 @@ static HB_BOOL hb_usrItemToTransInfo( PHB_ITEM pItem, LPDBTRANSINFO pTransInfo ) { if( pItem && hb_arrayLen( pItem ) == UR_TI_SIZE ) { - HB_USHORT uiItemCount = hb_arrayGetNI( pItem, UR_TI_ITEMCOUNT ), uiCount; + HB_USHORT uiItemCount = ( HB_USHORT ) hb_arrayGetNI( pItem, UR_TI_ITEMCOUNT ), uiCount; PHB_ITEM pItems = hb_arrayGetItemPtr( pItem, UR_TI_ITEMS ), pItm; if( hb_arrayLen( pItems ) == ( HB_SIZE ) uiItemCount && @@ -469,7 +469,7 @@ static HB_BOOL hb_usrItemToTransInfo( PHB_ITEM pItem, LPDBTRANSINFO pTransInfo ) { pTransInfo->lpaSource = hb_usrGetAreaPointer( hb_arrayGetNI( pItem, UR_TI_SRCAREA ) ); pTransInfo->lpaDest = hb_usrGetAreaPointer( hb_arrayGetNI( pItem, UR_TI_DSTAREA ) ); - pTransInfo->uiFlags = hb_arrayGetNI( pItem, UR_TI_FLAGS ); + pTransInfo->uiFlags = ( HB_USHORT ) hb_arrayGetNI( pItem, UR_TI_FLAGS ); pTransInfo->uiItemCount = uiItemCount; if( uiItemCount ) { @@ -481,8 +481,8 @@ static HB_BOOL hb_usrItemToTransInfo( PHB_ITEM pItem, LPDBTRANSINFO pTransInfo ) for( uiCount = 1; uiCount <= uiItemCount; ++uiCount, ++pTransItem ) { pItm = hb_arrayGetItemPtr( pItems, uiCount ); - pTransItem->uiSource = hb_arrayGetNI( pItm, UR_TITEM_SOURCE ); - pTransItem->uiDest = hb_arrayGetNI( pItm, UR_TITEM_DESTIN ); + pTransItem->uiSource = ( HB_USHORT ) hb_arrayGetNI( pItm, UR_TITEM_SOURCE ); + pTransItem->uiDest = ( HB_USHORT ) hb_arrayGetNI( pItm, UR_TITEM_DESTIN ); } } else @@ -533,7 +533,7 @@ static HB_BOOL hb_usrItemToSortInfo( PHB_ITEM pItem, LPDBSORTINFO pSortInfo ) { if( pItem && hb_arrayLen( pItem ) == UR_SRI_SIZE ) { - HB_USHORT uiItemCount = hb_arrayGetNI( pItem, UR_SRI_ITEMCOUNT ), uiCount; + HB_USHORT uiItemCount = ( HB_USHORT ) hb_arrayGetNI( pItem, UR_SRI_ITEMCOUNT ), uiCount; PHB_ITEM pItems = hb_arrayGetItemPtr( pItem, UR_SRI_ITEMS ), pItm; if( hb_arrayLen( pItems ) == ( HB_SIZE ) uiItemCount && @@ -551,8 +551,8 @@ static HB_BOOL hb_usrItemToSortInfo( PHB_ITEM pItem, LPDBSORTINFO pSortInfo ) for( uiCount = 1; uiCount <= uiItemCount; ++uiCount, ++pSortItem ) { pItm = hb_arrayGetItemPtr( pItems, uiCount ); - pSortItem->uiField = hb_arrayGetNI( pItm, UR_SITEM_FIELD ); - pSortItem->uiFlags = hb_arrayGetNI( pItm, UR_SITEM_FLAGS ); + pSortItem->uiField = ( HB_USHORT ) hb_arrayGetNI( pItm, UR_SITEM_FIELD ); + pSortItem->uiFlags = ( HB_USHORT ) hb_arrayGetNI( pItm, UR_SITEM_FLAGS ); } } else @@ -1297,7 +1297,7 @@ static HB_ERRCODE hb_usrFieldCount( AREAP pArea, HB_USHORT * puiFields ) hb_xvmPushLocalByRef( ( HB_SHORT ) lOffset ); hb_vmDo( 2 ); - * puiFields = hb_itemGetNI( hb_stackItemFromBase( lOffset ) ); + * puiFields = ( HB_USHORT ) hb_itemGetNI( hb_stackItemFromBase( lOffset ) ); hb_stackPop(); return hb_usrReturn(); @@ -1907,7 +1907,7 @@ static HB_ERRCODE hb_usrRelArea( AREAP pArea, HB_USHORT uiRelNo, HB_USHORT * pui hb_xvmPushLocalByRef( ( HB_SHORT ) lOffset ); hb_vmDo( 3 ); - * puiRelArea = hb_itemGetNI( hb_stackItemFromBase( lOffset ) ); + * puiRelArea = ( HB_USHORT ) hb_itemGetNI( hb_stackItemFromBase( lOffset ) ); hb_stackPop(); return hb_usrReturn(); @@ -2381,7 +2381,7 @@ static HB_ERRCODE hb_usrLock( AREAP pArea, LPDBLOCKINFO pLockInfo ) hb_vmPush( pItem ); hb_vmDo( 2 ); - pLockInfo->fResult = hb_arrayGetL( pItem, UR_LI_RESULT ); + pLockInfo->fResult = ( HB_USHORT ) hb_arrayGetL( pItem, UR_LI_RESULT ); hb_itemRelease( pItem ); return hb_usrReturn(); @@ -2909,7 +2909,7 @@ HB_FUNC( USRRDD_GETFUNCTABLE ) HB_FUNC( USRRDD_RDDDATA ) { - HB_USHORT uiRddID = hb_parni( 1 ); + HB_USHORT uiRddID = ( HB_USHORT ) hb_parni( 1 ); if( uiRddID < s_uiUsrNodes && s_pUsrRddNodes[ uiRddID ] ) { @@ -3111,7 +3111,7 @@ static LPRDDNODE hb_usrGetNodeParam( int iParams ) if( iParams <= hb_pcount() ) { - uiNode = hb_parni( 1 ); + uiNode = ( HB_USHORT ) hb_parni( 1 ); pRDD = hb_rddGetNode( uiNode ); if( pRDD && uiNode < s_uiUsrNodes && s_pUsrRddNodes[ uiNode ] ) return pRDD; @@ -3298,7 +3298,8 @@ HB_FUNC_UR_SUPER( FIELDNAME ) { char * szName = ( char * ) hb_xgrab( pArea->uiMaxFieldNameLength + 1 ); - hb_retni( SUPER_FIELDNAME( pArea, hb_parni( 2 ), szName ) ); + hb_retni( SUPER_FIELDNAME( pArea, ( HB_USHORT ) hb_parni( 2 ), + szName ) ); hb_storc( szName, 3 ); hb_xfree( szName ); } @@ -3405,7 +3406,8 @@ HB_FUNC_UR_SUPER( GETVALUE ) AREAP pArea = hb_usrGetAreaParam( 3 ); if( pArea ) - hb_retni( SUPER_GETVALUE( pArea, hb_parni( 2 ), hb_param( 3, HB_IT_ANY ) ) ); + hb_retni( SUPER_GETVALUE( pArea, ( HB_USHORT ) hb_parni( 2 ), + hb_param( 3, HB_IT_ANY ) ) ); } HB_FUNC_UR_SUPER( PUTVALUE ) @@ -3413,7 +3415,8 @@ HB_FUNC_UR_SUPER( PUTVALUE ) AREAP pArea = hb_usrGetAreaParam( 3 ); if( pArea ) - hb_retni( SUPER_PUTVALUE( pArea, hb_parni( 2 ), hb_param( 3, HB_IT_ANY ) ) ); + hb_retni( SUPER_PUTVALUE( pArea, ( HB_USHORT ) hb_parni( 2 ), + hb_param( 3, HB_IT_ANY ) ) ); } HB_FUNC_UR_SUPER( GETVARLEN ) @@ -3424,7 +3427,8 @@ HB_FUNC_UR_SUPER( GETVARLEN ) { HB_ULONG ulLength; - hb_retni( SUPER_GETVARLEN( pArea, hb_parni( 2 ), &ulLength ) ); + hb_retni( SUPER_GETVARLEN( pArea, ( HB_USHORT ) hb_parni( 2 ), + &ulLength ) ); hb_stornl( ulLength, 3 ); } } @@ -3447,7 +3451,8 @@ HB_FUNC_UR_SUPER( RECINFO ) AREAP pArea = hb_usrGetAreaParam( 4 ); if( pArea ) - hb_retni( SUPER_RECINFO( pArea, hb_param( 2, HB_IT_ANY ), hb_parni( 3 ), + hb_retni( SUPER_RECINFO( pArea, hb_param( 2, HB_IT_ANY ), + ( HB_USHORT ) hb_parni( 3 ), hb_param( 4, HB_IT_ANY ) ) ); } @@ -3477,7 +3482,8 @@ HB_FUNC_UR_SUPER( FIELDINFO ) AREAP pArea = hb_usrGetAreaParam( 4 ); if( pArea ) - hb_retni( SUPER_FIELDINFO( pArea, hb_parni( 2 ), hb_parni( 3 ), + hb_retni( SUPER_FIELDINFO( pArea, ( HB_USHORT ) hb_parni( 2 ), + ( HB_USHORT ) hb_parni( 3 ), hb_param( 4, HB_IT_ANY ) ) ); } @@ -3494,7 +3500,7 @@ HB_FUNC_UR_SUPER( SETFIELDEXTENT ) AREAP pArea = hb_usrGetAreaParam( 2 ); if( pArea ) - hb_retni( SUPER_SETFIELDEXTENT( pArea, hb_parni( 2 ) ) ); + hb_retni( SUPER_SETFIELDEXTENT( pArea, ( HB_USHORT ) hb_parni( 2 ) ) ); } HB_FUNC_UR_SUPER( ALIAS ) @@ -3563,7 +3569,8 @@ HB_FUNC_UR_SUPER( INFO ) AREAP pArea = hb_usrGetAreaParam( 3 ); if( pArea ) - hb_retni( SUPER_INFO( pArea, hb_parni( 2 ), hb_param( 3, HB_IT_ANY ) ) ); + hb_retni( SUPER_INFO( pArea, ( HB_USHORT ) hb_parni( 2 ), + hb_param( 3, HB_IT_ANY ) ) ); } HB_FUNC_UR_SUPER( DBEVAL ) @@ -3770,7 +3777,8 @@ HB_FUNC_UR_SUPER( RELAREA ) { HB_USHORT uiRelArea; - hb_retni( SUPER_RELAREA( pArea, hb_parni( 2 ), &uiRelArea ) ); + hb_retni( SUPER_RELAREA( pArea, ( HB_USHORT ) hb_parni( 2 ), + &uiRelArea ) ); hb_storni( uiRelArea, 3 ); } } @@ -3800,7 +3808,8 @@ HB_FUNC_UR_SUPER( RELTEXT ) AREAP pArea = hb_usrGetAreaParam( 3 ); if( pArea ) - hb_retni( SUPER_RELTEXT( pArea, hb_parni( 2 ), hb_param( 3, HB_IT_ANY ) ) ); + hb_retni( SUPER_RELTEXT( pArea, ( HB_USHORT ) hb_parni( 2 ), + hb_param( 3, HB_IT_ANY ) ) ); } HB_FUNC_UR_SUPER( SETREL ) @@ -3991,7 +4000,8 @@ HB_FUNC_UR_SUPER( ORDINFO ) if( hb_usrItemToOrderInfo( pItem, &dbOrderInfo ) ) { - hb_retni( SUPER_ORDINFO( pArea, hb_parni( 2 ), &dbOrderInfo ) ); + hb_retni( SUPER_ORDINFO( pArea, ( HB_USHORT ) hb_parni( 2 ), + &dbOrderInfo ) ); hb_arraySet( pItem, UR_ORI_RESULT, dbOrderInfo.itmResult ); } else @@ -4147,7 +4157,8 @@ HB_FUNC_UR_SUPER( RAWLOCK ) AREAP pArea = hb_usrGetAreaParam( 3 ); if( pArea ) - hb_retni( SUPER_RAWLOCK( pArea, hb_parni( 2 ), hb_parnl( 3 ) ) ); + hb_retni( SUPER_RAWLOCK( pArea, ( HB_USHORT ) hb_parni( 2 ), + hb_parnl( 3 ) ) ); } HB_FUNC_UR_SUPER( LOCK ) @@ -4234,8 +4245,9 @@ HB_FUNC_UR_SUPER( GETVALUEFILE ) AREAP pArea = hb_usrGetAreaParam( 4 ); if( pArea ) - hb_retni( SUPER_GETVALUEFILE( pArea, hb_parni( 2 ), hb_parc( 3 ), - hb_parni( 4 ) ) ); + hb_retni( SUPER_GETVALUEFILE( pArea, ( HB_USHORT ) hb_parni( 2 ), + hb_parc( 3 ), + ( HB_USHORT ) hb_parni( 4 ) ) ); } HB_FUNC_UR_SUPER( PUTVALUEFILE ) @@ -4243,8 +4255,9 @@ HB_FUNC_UR_SUPER( PUTVALUEFILE ) AREAP pArea = hb_usrGetAreaParam( 4 ); if( pArea ) - hb_retni( SUPER_PUTVALUEFILE( pArea, hb_parni( 2 ), hb_parc( 3 ), - hb_parni( 4 ) ) ); + hb_retni( SUPER_PUTVALUEFILE( pArea, ( HB_USHORT ) hb_parni( 2 ), + hb_parc( 3 ), + ( HB_USHORT ) hb_parni( 4 ) ) ); } HB_FUNC_UR_SUPER( READDBHEADER ) @@ -4299,6 +4312,7 @@ HB_FUNC_UR_SUPER( RDDINFO ) LPRDDNODE pRDD = hb_usrGetNodeParam( 4 ); if( pRDD ) - hb_retni( SUPER_RDDINFO( pRDD, hb_parni( 2 ), hb_parnl( 3 ), + hb_retni( SUPER_RDDINFO( pRDD, ( HB_USHORT ) hb_parni( 2 ), + hb_parnl( 3 ), hb_param( 4, HB_IT_ANY ) ) ); } diff --git a/harbour/src/rdd/wacore.c b/harbour/src/rdd/wacore.c index 62f40afc63..2541b2c615 100644 --- a/harbour/src/rdd/wacore.c +++ b/harbour/src/rdd/wacore.c @@ -92,7 +92,7 @@ static void hb_waNodeInsert( PHB_STACKRDD pRddInfo, AREAP pArea ) pRddInfo->waNums = ( HB_USHORT * ) hb_xrealloc( pRddInfo->waNums, iSize * sizeof( HB_USHORT ) ); } memset( &pRddInfo->waNums[ pRddInfo->uiWaNumMax ], 0, ( iSize - pRddInfo->uiWaNumMax ) * sizeof( HB_USHORT ) ); - pRddInfo->uiWaNumMax = iSize; + pRddInfo->uiWaNumMax = ( HB_USHORT ) iSize; } if( pRddInfo->uiWaSpace == 0 ) diff --git a/harbour/src/rdd/wafunc.c b/harbour/src/rdd/wafunc.c index 7061a657df..7ad89ac4aa 100644 --- a/harbour/src/rdd/wafunc.c +++ b/harbour/src/rdd/wafunc.c @@ -804,18 +804,17 @@ HB_ERRCODE hb_rddCreateTableTemp( const char * szDriver, static void hb_fldStructure( AREAP pArea, HB_USHORT uiField, HB_USHORT uiSize, PHB_ITEM pField ) { -#define HB_DBS_ALEN ( sizeof( s_uiActions ) / sizeof( int ) ) #ifdef DBS_FLAG - static const int s_uiActions[] = + static const HB_USHORT s_uiActions[] = { DBS_NAME, DBS_TYPE, DBS_LEN, DBS_DEC, DBS_FLAG }; #else - static const int s_uiActions[] = + static const HB_USHORT s_uiActions[] = { DBS_NAME, DBS_TYPE, DBS_LEN, DBS_DEC }; #endif HB_USHORT uiCount; - if( uiSize == 0 || uiSize > HB_DBS_ALEN ) - uiSize = HB_DBS_ALEN; + if( uiSize == 0 || uiSize > HB_SIZEOFARRAY( s_uiActions ) ) + uiSize = HB_SIZEOFARRAY( s_uiActions ); hb_arrayNew( pField, uiSize ); for( uiCount = 0; uiCount < uiSize; ++uiCount ) diff --git a/harbour/src/rdd/workarea.c b/harbour/src/rdd/workarea.c index 64b1d23785..926099ea57 100644 --- a/harbour/src/rdd/workarea.c +++ b/harbour/src/rdd/workarea.c @@ -351,7 +351,7 @@ static HB_ERRCODE hb_waCreateFields( AREAP pArea, PHB_ITEM pStruct ) case '2': case '4': pFieldInfo.uiType = HB_FT_INTEGER; - pFieldInfo.uiLen = iData - '0'; + pFieldInfo.uiLen = ( HB_USHORT ) ( iData - '0' ); break; case 'B':