From b2812a466eba6c36fc0234a998ee24010141c970 Mon Sep 17 00:00:00 2001 From: Horacio Dario Roldan Kasimatis Date: Thu, 19 Sep 2002 03:47:21 +0000 Subject: [PATCH] 2002-09-19 00:35 UTC-0300 Horacio Roldan + added support for DBI_FULLPATH and DBI_SHARED, sent by Gianluca Piemonte. --- harbour/source/rdd/dbf1.c | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/harbour/source/rdd/dbf1.c b/harbour/source/rdd/dbf1.c index b6acdc55d9..d5a5657e59 100644 --- a/harbour/source/rdd/dbf1.c +++ b/harbour/source/rdd/dbf1.c @@ -1248,6 +1248,17 @@ ERRCODE hb_dbfPutValue( DBFAREAP pArea, USHORT uiIndex, PHB_ITEM pItem ) else uiError = EDBF_DATATYPE; } + // Must precede HB_IS_NUMERIC() because a DATE is also a NUMERIC. (xHarbour) + else if( HB_IS_DATE( pItem ) ) + { + if( pField->uiType == HB_IT_DATE ) + { + hb_itemGetDS( pItem, szBuffer ); + memcpy( pArea->pRecord + pArea->pFieldOffset[ uiIndex ], szBuffer, 8 ); + } + else + uiError = EDBF_DATATYPE; + } else if( HB_IS_NUMERIC( pItem ) ) { if( pField->uiType == HB_IT_LONG ) @@ -1297,16 +1308,6 @@ ERRCODE hb_dbfPutValue( DBFAREAP pArea, USHORT uiIndex, PHB_ITEM pItem ) else uiError = EDBF_DATATYPE; } - else if( HB_IS_DATE( pItem ) ) - { - if( pField->uiType == HB_IT_DATE ) - { - hb_itemGetDS( pItem, szBuffer ); - memcpy( pArea->pRecord + pArea->pFieldOffset[ uiIndex ], szBuffer, 8 ); - } - else - uiError = EDBF_DATATYPE; - } else if( HB_IS_LOGICAL( pItem ) ) { if( pField->uiType == HB_IT_LOGICAL ) @@ -1680,6 +1681,14 @@ ERRCODE hb_dbfInfo( DBFAREAP pArea, USHORT uiIndex, PHB_ITEM pItem ) case DBI_MEMOEXT: hb_itemPutC( pItem, DBF_MEMOEXT ); break; + + case DBI_FULLPATH: + hb_itemPutC( pItem, pArea->szDataFileName); + break; + + case DBI_SHARED: + hb_itemPutL( pItem, pArea->fShared ); + break; } return SUCCESS;