diff --git a/harbour/ChangeLog b/harbour/ChangeLog index b11d1bf3f3..78abd1d5b3 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,12 @@ 2002-12-01 23:12 UTC+0100 Foo Bar */ +2002-10-20 21:12 UTC+0300 Alexander Kresin + * source/rdd/dbcmd.c + ! Few fixes related to the latest hb_parc() changes + * source/rdd/dbfntx/dbfntx1.c + ! Bug fixed in indexing + 2002-10-19 16:50 UTC-0500 Paul Tucker * include/hbdefs.h * Added definition for UINT diff --git a/harbour/source/rdd/dbcmd.c b/harbour/source/rdd/dbcmd.c index 3669bb3305..80bb568163 100644 --- a/harbour/source/rdd/dbcmd.c +++ b/harbour/source/rdd/dbcmd.c @@ -1955,14 +1955,14 @@ HB_FUNC( DBUSEAREA ) szDriver = s_szDefDriver; szFileName = hb_parc( 3 ); - if( strlen( szFileName ) == 0 ) + if( szFileName == (char*)0 || strlen( szFileName ) == 0 ) { hb_errRT_DBCMD( EG_ARG, EDBCMD_USE_BADPARAMETER, NULL, "DBUSEAREA" ); return; } pFileName = hb_fsFNameSplit( szFileName ); - strncpy( szAlias, hb_parc( 4 ), HARBOUR_MAX_RDD_ALIAS_LENGTH ); + strncpy( szAlias, (ISCHAR(4))? hb_parc( 4 ):"", HARBOUR_MAX_RDD_ALIAS_LENGTH ); if( strlen( szAlias ) == 0 ) strncpy( szAlias, pFileName->szName, HARBOUR_MAX_RDD_ALIAS_LENGTH ); uiLen = strlen( szAlias ); @@ -2399,8 +2399,8 @@ HB_FUNC( ORDCREATE ) dbOrderInfo.abBagName = ( BYTE * ) hb_parc( 1 ); dbOrderInfo.atomBagName = ( BYTE * ) hb_parc( 2 ); dbOrderInfo.abExpr = hb_param( 3, HB_IT_STRING ); - if( ( ( strlen( ( char * ) dbOrderInfo.abBagName ) == 0 ) && - ( strlen( ( char * ) dbOrderInfo.atomBagName ) == 0 ) ) || + if( ( ( dbOrderInfo.abBagName == (char*)0 || strlen( ( char * ) dbOrderInfo.abBagName ) == 0 ) && + ( dbOrderInfo.atomBagName == (char*)0 || strlen( ( char * ) dbOrderInfo.atomBagName ) == 0 ) ) || !dbOrderInfo.abExpr ) { hb_errRT_DBCMD( EG_ARG, EDBCMD_REL_BADPARAMETER, NULL, "ORDCREATE" ); @@ -3032,7 +3032,7 @@ HB_FUNC( DBSETRELATION ) else { szAlias = hb_parc( 1 ); - if( ( uiChildArea = hb_rddSelect( szAlias ) ) == 0 ) + if( szAlias == (char*)0 || ( uiChildArea = hb_rddSelect( szAlias ) ) == 0 ) { hb_errRT_BASE( EG_NOALIAS, EDBCMD_NOALIAS, NULL, szAlias, 0 ); return; diff --git a/harbour/source/rdd/dbfntx/dbfntx1.c b/harbour/source/rdd/dbfntx/dbfntx1.c index c803ca7f43..555d07475a 100644 --- a/harbour/source/rdd/dbfntx/dbfntx1.c +++ b/harbour/source/rdd/dbfntx/dbfntx1.c @@ -2203,7 +2203,7 @@ static void hb_ntxBufferSave( LPTAGINFO pTag, LPNTXSORTINFO pSortInfo ) LPSORTITEM pKey = pSortInfo->pKeyFirst; char* buffer; BOOL lSave = FALSE; - ULONG* lpArray = hb_ntxKeysInPage( pSortInfo->ulKeyCount, pTag->MaxKeys ); + ULONG* lpArray = hb_ntxKeysInPage( pSortInfo->ulKeyCount, pTag->MaxKeys-1 ); maxKeys = (USHORT)lpArray[1]; ulFullNodes = lpArray[lpArray[0]+1]; @@ -3450,7 +3450,6 @@ static ERRCODE ntxOrderCreate( NTXAREAP pArea, LPDBORDERCREATEINFO pOrderInfo ) uiType = hb_itemType( pResult ); uiLen = uiDec = 0; - bType = '\0'; switch( uiType ) { case HB_IT_INTEGER: