From 6ff172db05896667d87a7ec38db635ad4db4501f Mon Sep 17 00:00:00 2001 From: Horacio Dario Roldan Kasimatis Date: Wed, 7 Aug 2002 19:26:03 +0000 Subject: [PATCH] 2002-08-07 16:20 UTC-0300 Horacio Roldan * source/rdd/dbf1.c ! added os error code, for neterr() support and temporary fix for Win/DOS platforms. --- harbour/source/rdd/dbf1.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/harbour/source/rdd/dbf1.c b/harbour/source/rdd/dbf1.c index 3aceb57f04..7ea1004213 100644 --- a/harbour/source/rdd/dbf1.c +++ b/harbour/source/rdd/dbf1.c @@ -63,12 +63,18 @@ #include "hbdbsort.h" #include "error.ch" +#include + /* DJGPP can sprintf a float that is almost 320 digits long */ #define HB_MAX_DOUBLE_LENGTH 320 HB_FUNC( _DBFC ); HB_FUNC( DBF_GETFUNCTABLE ); +#undef HB_PRG_PCODE_VER +#define HB_PRG_PCODE_VER HB_PCODE_VER + + HB_INIT_SYMBOLS_BEGIN( dbf1__InitSymbols ) { "_DBFC", HB_FS_PUBLIC, HB_FUNCNAME( _DBFC ), NULL }, { "DBF_GETFUNCTABLE", HB_FS_PUBLIC, HB_FUNCNAME( DBF_GETFUNCTABLE ), NULL } @@ -1732,6 +1738,14 @@ ERRCODE hb_dbfOpen( DBFAREAP pArea, LPDBOPENINFO pOpenInfo ) hb_errPutSubCode( pError, EDBF_OPEN_DBF ); hb_errPutDescription( pError, hb_langDGetErrorDesc( EG_OPEN ) ); hb_errPutFileName( pError, ( char * ) pOpenInfo->abName ); + /* + * Temporary fix for neterr() support and Clipper compatibility, + * should be revised with a better solution. + */ + if ( hb_fsError() == EACCES ) + hb_errPutOsCode( pError, 32 ); + else + hb_errPutOsCode( pError, hb_fsError() ); hb_errPutFlags( pError, EF_CANRETRY | EF_CANDEFAULT ); } bRetry = ( SELF_ERROR( ( AREAP ) pArea, pError ) == E_RETRY );