2015-03-17 13:35 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/workarea.c
% small simplification
This commit is contained in:
@@ -10,6 +10,10 @@
|
||||
* Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment
|
||||
*/
|
||||
|
||||
2015-03-17 13:35 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
|
||||
* src/rdd/workarea.c
|
||||
% small simplification
|
||||
|
||||
2015-03-17 12:55 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
|
||||
* src/rdd/dbcmd.c
|
||||
! fixed __dbArrange() to allow record transfer with the same conditions
|
||||
|
||||
@@ -1077,6 +1077,8 @@ static HB_ERRCODE hb_waEval( AREAP pArea, LPDBEVALINFO pEvalInfo )
|
||||
else if( pEvalInfo->dbsci.lNext )
|
||||
{
|
||||
lNext = hb_itemGetNL( pEvalInfo->dbsci.lNext );
|
||||
if( lNext <= 0 )
|
||||
return HB_SUCCESS;
|
||||
}
|
||||
else if( ! pEvalInfo->dbsci.itmCobWhile &&
|
||||
! hb_itemGetLX( pEvalInfo->dbsci.fRest ) )
|
||||
@@ -1087,45 +1089,42 @@ static HB_ERRCODE hb_waEval( AREAP pArea, LPDBEVALINFO pEvalInfo )
|
||||
|
||||
/* TODO: use SKIPSCOPE() method and fRest parameter */
|
||||
|
||||
if( ! pEvalInfo->dbsci.lNext || lNext > 0 )
|
||||
for( ;; )
|
||||
{
|
||||
for( ;; )
|
||||
if( SELF_EOF( pArea, &fEof ) != HB_SUCCESS )
|
||||
return HB_FAILURE;
|
||||
|
||||
if( fEof )
|
||||
break;
|
||||
|
||||
if( pEvalInfo->dbsci.itmCobWhile )
|
||||
{
|
||||
if( SELF_EOF( pArea, &fEof ) != HB_SUCCESS )
|
||||
if( SELF_EVALBLOCK( pArea, pEvalInfo->dbsci.itmCobWhile ) != HB_SUCCESS )
|
||||
return HB_FAILURE;
|
||||
|
||||
if( fEof )
|
||||
if( ! hb_itemGetLX( pArea->valResult ) )
|
||||
break;
|
||||
}
|
||||
|
||||
if( pEvalInfo->dbsci.itmCobWhile )
|
||||
{
|
||||
if( SELF_EVALBLOCK( pArea, pEvalInfo->dbsci.itmCobWhile ) != HB_SUCCESS )
|
||||
return HB_FAILURE;
|
||||
if( ! hb_itemGetLX( pArea->valResult ) )
|
||||
break;
|
||||
}
|
||||
if( pEvalInfo->dbsci.itmCobFor )
|
||||
{
|
||||
if( SELF_EVALBLOCK( pArea, pEvalInfo->dbsci.itmCobFor ) != HB_SUCCESS )
|
||||
return HB_FAILURE;
|
||||
fFor = hb_itemGetLX( pArea->valResult );
|
||||
}
|
||||
else
|
||||
fFor = HB_TRUE;
|
||||
|
||||
if( pEvalInfo->dbsci.itmCobFor )
|
||||
{
|
||||
if( SELF_EVALBLOCK( pArea, pEvalInfo->dbsci.itmCobFor ) != HB_SUCCESS )
|
||||
return HB_FAILURE;
|
||||
fFor = hb_itemGetLX( pArea->valResult );
|
||||
}
|
||||
else
|
||||
fFor = HB_TRUE;
|
||||
|
||||
if( fFor )
|
||||
{
|
||||
if( SELF_EVALBLOCK( pArea, pEvalInfo->itmBlock ) != HB_SUCCESS )
|
||||
return HB_FAILURE;
|
||||
}
|
||||
|
||||
if( pEvalInfo->dbsci.itmRecID || ( pEvalInfo->dbsci.lNext && --lNext < 1 ) )
|
||||
break;
|
||||
|
||||
if( SELF_SKIP( pArea, 1 ) != HB_SUCCESS )
|
||||
if( fFor )
|
||||
{
|
||||
if( SELF_EVALBLOCK( pArea, pEvalInfo->itmBlock ) != HB_SUCCESS )
|
||||
return HB_FAILURE;
|
||||
}
|
||||
|
||||
if( pEvalInfo->dbsci.itmRecID || ( pEvalInfo->dbsci.lNext && --lNext < 1 ) )
|
||||
break;
|
||||
|
||||
if( SELF_SKIP( pArea, 1 ) != HB_SUCCESS )
|
||||
return HB_FAILURE;
|
||||
}
|
||||
|
||||
return HB_SUCCESS;
|
||||
@@ -1157,6 +1156,8 @@ static HB_ERRCODE hb_waLocate( AREAP pArea, HB_BOOL fContinue )
|
||||
else if( pArea->dbsi.lNext )
|
||||
{
|
||||
lNext = hb_itemGetNL( pArea->dbsi.lNext );
|
||||
if( lNext <= 0 )
|
||||
return HB_SUCCESS;
|
||||
}
|
||||
else if( ! pArea->dbsi.itmCobWhile &&
|
||||
! hb_itemGetLX( pArea->dbsi.fRest ) )
|
||||
@@ -1169,48 +1170,45 @@ static HB_ERRCODE hb_waLocate( AREAP pArea, HB_BOOL fContinue )
|
||||
|
||||
/* TODO: use SKIPSCOPE() method and fRest parameter */
|
||||
|
||||
if( ! pArea->dbsi.lNext || lNext > 0 )
|
||||
for( ;; )
|
||||
{
|
||||
for( ;; )
|
||||
if( SELF_EOF( pArea, &fEof ) != HB_SUCCESS )
|
||||
return HB_FAILURE;
|
||||
|
||||
if( fEof )
|
||||
break;
|
||||
|
||||
if( ! fContinue && pArea->dbsi.itmCobWhile )
|
||||
{
|
||||
if( SELF_EOF( pArea, &fEof ) != HB_SUCCESS )
|
||||
if( SELF_EVALBLOCK( pArea, pArea->dbsi.itmCobWhile ) != HB_SUCCESS )
|
||||
return HB_FAILURE;
|
||||
if( ! hb_itemGetLX( pArea->valResult ) )
|
||||
break;
|
||||
}
|
||||
|
||||
if( ! pArea->dbsi.itmCobFor )
|
||||
{
|
||||
pArea->fFound = HB_TRUE;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if( SELF_EVALBLOCK( pArea, pArea->dbsi.itmCobFor ) != HB_SUCCESS )
|
||||
return HB_FAILURE;
|
||||
|
||||
if( fEof )
|
||||
break;
|
||||
|
||||
if( ! fContinue && pArea->dbsi.itmCobWhile )
|
||||
{
|
||||
if( SELF_EVALBLOCK( pArea, pArea->dbsi.itmCobWhile ) != HB_SUCCESS )
|
||||
return HB_FAILURE;
|
||||
if( ! hb_itemGetLX( pArea->valResult ) )
|
||||
break;
|
||||
}
|
||||
|
||||
if( ! pArea->dbsi.itmCobFor )
|
||||
if( hb_itemGetLX( pArea->valResult ) )
|
||||
{
|
||||
pArea->fFound = HB_TRUE;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if( SELF_EVALBLOCK( pArea, pArea->dbsi.itmCobFor ) != HB_SUCCESS )
|
||||
return HB_FAILURE;
|
||||
|
||||
if( hb_itemGetLX( pArea->valResult ) )
|
||||
{
|
||||
pArea->fFound = HB_TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if( ! fContinue &&
|
||||
( pArea->dbsi.itmRecID || ( pArea->dbsi.lNext && --lNext < 1 ) ) )
|
||||
break;
|
||||
|
||||
if( SELF_SKIP( pArea, 1 ) != HB_SUCCESS )
|
||||
return HB_FAILURE;
|
||||
}
|
||||
|
||||
if( ! fContinue &&
|
||||
( pArea->dbsi.itmRecID || ( pArea->dbsi.lNext && --lNext < 1 ) ) )
|
||||
break;
|
||||
|
||||
if( SELF_SKIP( pArea, 1 ) != HB_SUCCESS )
|
||||
return HB_FAILURE;
|
||||
}
|
||||
|
||||
return HB_SUCCESS;
|
||||
@@ -1234,6 +1232,8 @@ static HB_ERRCODE hb_waTrans( AREAP pArea, LPDBTRANSINFO pTransInfo )
|
||||
else if( pTransInfo->dbsci.lNext )
|
||||
{
|
||||
lNext = hb_itemGetNL( pTransInfo->dbsci.lNext );
|
||||
if( lNext <= 0 )
|
||||
return HB_SUCCESS;
|
||||
}
|
||||
else if( ! pTransInfo->dbsci.itmCobWhile &&
|
||||
! hb_itemGetLX( pTransInfo->dbsci.fRest ) )
|
||||
@@ -1244,45 +1244,42 @@ static HB_ERRCODE hb_waTrans( AREAP pArea, LPDBTRANSINFO pTransInfo )
|
||||
|
||||
/* TODO: use SKIPSCOPE() method and fRest parameter */
|
||||
|
||||
if( ! pTransInfo->dbsci.lNext || lNext > 0 )
|
||||
for( ;; )
|
||||
{
|
||||
for( ;; )
|
||||
if( SELF_EOF( pArea, &fEof ) != HB_SUCCESS )
|
||||
return HB_FAILURE;
|
||||
|
||||
if( fEof )
|
||||
break;
|
||||
|
||||
if( pTransInfo->dbsci.itmCobWhile )
|
||||
{
|
||||
if( SELF_EOF( pArea, &fEof ) != HB_SUCCESS )
|
||||
if( SELF_EVALBLOCK( pArea, pTransInfo->dbsci.itmCobWhile ) != HB_SUCCESS )
|
||||
return HB_FAILURE;
|
||||
|
||||
if( fEof )
|
||||
if( ! hb_itemGetLX( pArea->valResult ) )
|
||||
break;
|
||||
}
|
||||
|
||||
if( pTransInfo->dbsci.itmCobWhile )
|
||||
{
|
||||
if( SELF_EVALBLOCK( pArea, pTransInfo->dbsci.itmCobWhile ) != HB_SUCCESS )
|
||||
return HB_FAILURE;
|
||||
if( ! hb_itemGetLX( pArea->valResult ) )
|
||||
break;
|
||||
}
|
||||
if( pTransInfo->dbsci.itmCobFor )
|
||||
{
|
||||
if( SELF_EVALBLOCK( pArea, pTransInfo->dbsci.itmCobFor ) != HB_SUCCESS )
|
||||
return HB_FAILURE;
|
||||
fFor = hb_itemGetLX( pArea->valResult );
|
||||
}
|
||||
else
|
||||
fFor = HB_TRUE;
|
||||
|
||||
if( pTransInfo->dbsci.itmCobFor )
|
||||
{
|
||||
if( SELF_EVALBLOCK( pArea, pTransInfo->dbsci.itmCobFor ) != HB_SUCCESS )
|
||||
return HB_FAILURE;
|
||||
fFor = hb_itemGetLX( pArea->valResult );
|
||||
}
|
||||
else
|
||||
fFor = HB_TRUE;
|
||||
|
||||
if( fFor )
|
||||
{
|
||||
if( SELF_TRANSREC( pArea, pTransInfo ) != HB_SUCCESS )
|
||||
return HB_FAILURE;
|
||||
}
|
||||
|
||||
if( pTransInfo->dbsci.itmRecID || ( pTransInfo->dbsci.lNext && --lNext < 1 ) )
|
||||
break;
|
||||
|
||||
if( SELF_SKIP( pArea, 1 ) != HB_SUCCESS )
|
||||
if( fFor )
|
||||
{
|
||||
if( SELF_TRANSREC( pArea, pTransInfo ) != HB_SUCCESS )
|
||||
return HB_FAILURE;
|
||||
}
|
||||
|
||||
if( pTransInfo->dbsci.itmRecID || ( pTransInfo->dbsci.lNext && --lNext < 1 ) )
|
||||
break;
|
||||
|
||||
if( SELF_SKIP( pArea, 1 ) != HB_SUCCESS )
|
||||
return HB_FAILURE;
|
||||
}
|
||||
|
||||
return HB_SUCCESS;
|
||||
|
||||
Reference in New Issue
Block a user