2009-10-08 16:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rdd/dbfntx/dbfntx1.c
* harbour/source/rdd/dbfnsx/dbfnsx1.c
* harbour/source/rdd/dbfcdx/dbfcdx1.c
* minor cleanup
* harbour/source/rdd/dbf1.c
! fixed GPF trap in DBINFO( DBI_MEMOHANDLE ) executed for tables without
any memo fields - thank to Saulius for information and self contain
example.
This commit is contained in:
@@ -17,6 +17,17 @@
|
||||
past entries belonging to author(s): Viktor Szakats.
|
||||
*/
|
||||
|
||||
2009-10-08 16:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/source/rdd/dbfntx/dbfntx1.c
|
||||
* harbour/source/rdd/dbfnsx/dbfnsx1.c
|
||||
* harbour/source/rdd/dbfcdx/dbfcdx1.c
|
||||
* minor cleanup
|
||||
|
||||
* harbour/source/rdd/dbf1.c
|
||||
! fixed GPF trap in DBINFO( DBI_MEMOHANDLE ) executed for tables without
|
||||
any memo fields - thank to Saulius for information and self contain
|
||||
example.
|
||||
|
||||
2009-10-08 16:11 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* utils/hbmk2/hbmk2.pt_BR.po
|
||||
* utils/hbmk2/hbmk2.hu_HU.po
|
||||
|
||||
@@ -3298,11 +3298,13 @@ static HB_ERRCODE hb_dbfInfo( DBFAREAP pArea, USHORT uiIndex, PHB_ITEM pItem )
|
||||
break;
|
||||
|
||||
case DBI_FILEHANDLE:
|
||||
hb_itemPutNInt( pItem, ( HB_NHANDLE ) hb_fileHandle( pArea->pDataFile ) );
|
||||
hb_itemPutNInt( pItem, pArea->pDataFile ?
|
||||
( HB_NHANDLE ) hb_fileHandle( pArea->pDataFile ) : FS_ERROR );
|
||||
break;
|
||||
|
||||
case DBI_MEMOHANDLE:
|
||||
hb_itemPutNInt( pItem, ( HB_NHANDLE ) hb_fileHandle( pArea->pMemoFile ) );
|
||||
hb_itemPutNInt( pItem, pArea->pMemoFile ?
|
||||
( HB_NHANDLE ) hb_fileHandle( pArea->pMemoFile ) : FS_ERROR );
|
||||
break;
|
||||
|
||||
case DBI_SHARED:
|
||||
|
||||
@@ -7352,10 +7352,7 @@ static HB_ERRCODE hb_cdxOrderListFocus( CDXAREAP pArea, LPDBORDERINFO pOrderInfo
|
||||
pOrderInfo->itmResult = hb_itemPutC( pOrderInfo->itmResult, pTag->szName );
|
||||
|
||||
if( pOrderInfo->itmOrder )
|
||||
{
|
||||
hb_cdxFindTag( pArea, pOrderInfo->itmOrder, pOrderInfo->atomBagName, &(pArea->uiTag) );
|
||||
/* TODO: RTerror if not found? */
|
||||
}
|
||||
hb_cdxFindTag( pArea, pOrderInfo->itmOrder, pOrderInfo->atomBagName, &pArea->uiTag );
|
||||
|
||||
return HB_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -7908,6 +7908,8 @@ static HB_ERRCODE hb_nsxOrderListFocus( NSXAREAP pArea, LPDBORDERINFO pOrderInfo
|
||||
|
||||
if( pOrderInfo->itmOrder )
|
||||
{
|
||||
LPTAGINFO pTag = hb_nsxFindTag( pArea, pOrderInfo->itmOrder,
|
||||
pOrderInfo->atomBagName );
|
||||
/*
|
||||
* In Clipper 5.3 DBFCDX (COMIX) when bad name or order is given
|
||||
* tag number is set to 0 (natural record order). CL52 RDDs and
|
||||
@@ -7916,14 +7918,13 @@ static HB_ERRCODE hb_nsxOrderListFocus( NSXAREAP pArea, LPDBORDERINFO pOrderInfo
|
||||
* RDDs and I chosen DBFCDX one as default. [druzus]
|
||||
*/
|
||||
#ifdef HB_CLP_STRICT
|
||||
LPTAGINFO pTag = hb_nsxFindTag( pArea, pOrderInfo->itmOrder,
|
||||
pOrderInfo->atomBagName );
|
||||
if( pTag )
|
||||
pArea->lpCurTag = pTag;
|
||||
#else
|
||||
pArea->lpCurTag = hb_nsxFindTag( pArea, pOrderInfo->itmOrder,
|
||||
pOrderInfo->atomBagName );
|
||||
if( pTag ||
|
||||
( HB_IS_NUMERIC( pOrderInfo->itmOrder ) &&
|
||||
hb_itemGetNI( pOrderInfo->itmOrder ) == 0 ) ||
|
||||
( HB_IS_STRING( pOrderInfo->itmOrder ) &&
|
||||
hb_itemGetCLen( pOrderInfo->itmOrder ) == 0 ) )
|
||||
#endif
|
||||
pArea->lpCurTag = pTag;
|
||||
}
|
||||
|
||||
return HB_SUCCESS;
|
||||
|
||||
@@ -7540,20 +7540,21 @@ static HB_ERRCODE hb_ntxOrderListFocus( NTXAREAP pArea, LPDBORDERINFO pOrderInfo
|
||||
|
||||
if( pOrderInfo->itmOrder )
|
||||
{
|
||||
LPTAGINFO pTag = hb_ntxFindTag( pArea, pOrderInfo->itmOrder,
|
||||
pOrderInfo->atomBagName );
|
||||
/*
|
||||
* In Clipper tag is not changed when bad name is given in DBFNTX
|
||||
* but not in DBFCDX. I'd like to keep the same behavior in
|
||||
* [x]Harbour RDDs and I chosen DBFCDX one as default. [druzus]
|
||||
*/
|
||||
#ifdef HB_CLP_STRICT
|
||||
LPTAGINFO pTag = hb_ntxFindTag( pArea, pOrderInfo->itmOrder,
|
||||
pOrderInfo->atomBagName );
|
||||
if( pTag )
|
||||
pArea->lpCurTag = pTag;
|
||||
#else
|
||||
pArea->lpCurTag = hb_ntxFindTag( pArea, pOrderInfo->itmOrder,
|
||||
pOrderInfo->atomBagName );
|
||||
if( pTag ||
|
||||
( HB_IS_NUMERIC( pOrderInfo->itmOrder ) &&
|
||||
hb_itemGetNI( pOrderInfo->itmOrder ) == 0 ) ||
|
||||
( HB_IS_STRING( pOrderInfo->itmOrder ) &&
|
||||
hb_itemGetCLen( pOrderInfo->itmOrder ) == 0 ) )
|
||||
#endif
|
||||
pArea->lpCurTag = pTag;
|
||||
}
|
||||
|
||||
return HB_SUCCESS;
|
||||
|
||||
Reference in New Issue
Block a user