diff --git a/harbour/ChangeLog b/harbour/ChangeLog index f425b78e12..cad5e8dd2d 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,14 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-12-07 11:40 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) + * harbour/contrib/rddads/ads1.c + * renamed RDD from ADT to ADSADT + + added public functions ADSADT, ADSNTX, ADSCDX, ADSVFP to be able + do a REQUEST RDD using RDD name from .prg code + * harbour/contrib/rddads/adsx.c + + added ADSNTXX, ADSCDXX, ADSADTX RDDs + 2009-12-07 10:14 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * external/libpng/pngerror.c * external/libpng/pngrio.c diff --git a/harbour/contrib/rddads/ads1.c b/harbour/contrib/rddads/ads1.c index cf6d1eebe7..16c2875f90 100644 --- a/harbour/contrib/rddads/ads1.c +++ b/harbour/contrib/rddads/ads1.c @@ -72,7 +72,7 @@ static int s_iSetListenerHandle = 0; static USHORT s_uiRddCount = 0; static USHORT s_uiRddIdADS = ( USHORT ) -1; -static USHORT s_uiRddIdADT = ( USHORT ) -1; +static USHORT s_uiRddIdADSADT = ( USHORT ) -1; static USHORT s_uiRddIdADSNTX = ( USHORT ) -1; static USHORT s_uiRddIdADSCDX = ( USHORT ) -1; #if ADS_LIB_VERSION >= 900 @@ -270,7 +270,7 @@ static int adsGetFileType( USHORT uiRddID ) return ADS_CDX; else if( uiRddID == s_uiRddIdADSNTX ) return ADS_NTX; - else if( uiRddID == s_uiRddIdADT ) + else if( uiRddID == s_uiRddIdADSADT ) return ADS_ADT; #if ADS_LIB_VERSION >= 900 else if( uiRddID == s_uiRddIdADSVFP ) @@ -290,13 +290,10 @@ static const char * adsMemoExt( int iFileType ) switch( iFileType ) { case ADS_ADT: return ".adm"; - case ADS_CDX: return ".fpt"; -#if ADS_LIB_VERSION >= 900 - case ADS_VFP: return ".fpt"; -#endif + case ADS_NTX: return ".dbt"; } - return ".dbt"; + return ".fpt"; } static const char * adsIndexExt( int iFileType ) @@ -304,13 +301,10 @@ static const char * adsIndexExt( int iFileType ) switch( iFileType ) { case ADS_ADT: return ".adi"; - case ADS_CDX: return ".cdx"; -#if ADS_LIB_VERSION >= 900 - case ADS_VFP: return ".cdx"; -#endif + case ADS_NTX: return ".ntx"; } - return ".ntx"; + return ".cdx"; } static ADSHANDLE hb_adsFindBag( ADSAREAP pArea, const char * szBagName ) @@ -3200,7 +3194,7 @@ static HB_ERRCODE adsNewArea( ADSAREAP pArea ) errCode = SUPER_NEW( ( AREAP ) pArea ); if( errCode == HB_SUCCESS ) { - if( pArea->area.rddID == s_uiRddIdADT ) + if( pArea->area.rddID == s_uiRddIdADSADT ) { pArea->iFileType = ADS_ADT; pArea->area.uiMaxFieldNameLength = ADS_MAX_FIELD_NAME; @@ -3713,7 +3707,7 @@ static HB_ERRCODE adsSetRel( ADSAREAP pArea, LPDBRELINFO lpdbRelations ) szExp = ( UNSIGNED8 * ) hb_itemGetCPtr( lpdbRelations->abKey ); rddID = lpdbRelations->lpaChild->rddID; if( *szExp && ( rddID == s_uiRddIdADS || - rddID == s_uiRddIdADT || + rddID == s_uiRddIdADSADT || #if ADS_LIB_VERSION >= 900 rddID == s_uiRddIdADSVFP || #endif @@ -5188,11 +5182,11 @@ HB_FUNC_STATIC( ADS_GETFUNCTABLE ) adsRegisterRDD( &s_uiRddIdADS ); } -HB_FUNC_STATIC( ADT_GETFUNCTABLE ) +HB_FUNC_STATIC( ADSADT_GETFUNCTABLE ) { - HB_TRACE(HB_TR_DEBUG, ("ADT_GETFUNCTABLE()")); + HB_TRACE(HB_TR_DEBUG, ("ADSADT_GETFUNCTABLE()")); - adsRegisterRDD( &s_uiRddIdADT ); + adsRegisterRDD( &s_uiRddIdADSADT ); } HB_FUNC_STATIC( ADSNTX_GETFUNCTABLE ) @@ -5222,12 +5216,22 @@ HB_FUNC_STATIC( ADSVFP_GETFUNCTABLE ) HB_FUNC( ADS ) { ; } +HB_FUNC( ADSADT ) { ; } + +HB_FUNC( ADSNTX ) { ; } + +HB_FUNC( ADSCDX ) { ; } + +#if ADS_LIB_VERSION >= 900 +HB_FUNC( ADSVFP ) { ; } +#endif + static void hb_adsRddInit( void * cargo ) { HB_SYMBOL_UNUSED( cargo ); if( hb_rddRegister( "ADS", RDT_FULL ) > 1 || - hb_rddRegister( "ADT", RDT_FULL ) > 1 || + hb_rddRegister( "ADSADT", RDT_FULL ) > 1 || #if ADS_LIB_VERSION >= 900 hb_rddRegister( "ADSVFP", RDT_FULL ) > 1 || #endif @@ -5241,11 +5245,15 @@ static void hb_adsRddInit( void * cargo ) HB_INIT_SYMBOLS_BEGIN( ads1__InitSymbols ) { "ADS", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( ADS )}, NULL }, { "ADS_GETFUNCTABLE", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( ADS_GETFUNCTABLE )}, NULL }, -{ "ADT_GETFUNCTABLE", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( ADT_GETFUNCTABLE )}, NULL }, +{ "ADSADT", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( ADSADT )}, NULL }, +{ "ADSADT_GETFUNCTABLE", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( ADSADT_GETFUNCTABLE )}, NULL }, #if ADS_LIB_VERSION >= 900 +{ "ADSVFP", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( ADSVFP )}, NULL }, { "ADSVFP_GETFUNCTABLE", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( ADSVFP_GETFUNCTABLE )}, NULL }, #endif +{ "ADSNTX", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( ADSNTX )}, NULL }, { "ADSNTX_GETFUNCTABLE", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( ADSNTX_GETFUNCTABLE )}, NULL }, +{ "ADSCDX", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( ADSCDX )}, NULL }, { "ADSCDX_GETFUNCTABLE", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( ADSCDX_GETFUNCTABLE )}, NULL } HB_INIT_SYMBOLS_END( ads1__InitSymbols ) @@ -5275,7 +5283,7 @@ ADSAREAP hb_adsGetWorkAreaPointer( void ) USHORT rddID = pArea->area.rddID; if( rddID == s_uiRddIdADS || - rddID == s_uiRddIdADT || + rddID == s_uiRddIdADSADT || #if ADS_LIB_VERSION >= 900 rddID == s_uiRddIdADSVFP || #endif diff --git a/harbour/contrib/rddads/adsx.c b/harbour/contrib/rddads/adsx.c index 94bd0f24db..194d28b7c1 100644 --- a/harbour/contrib/rddads/adsx.c +++ b/harbour/contrib/rddads/adsx.c @@ -119,7 +119,10 @@ typedef struct _ADSXAREA_ -static USHORT s_uiRddIdADSX = ( USHORT ) -1; +static USHORT s_uiRddIdADSX = ( USHORT ) -1; +static USHORT s_uiRddIdADSNTXX = ( USHORT ) -1; +static USHORT s_uiRddIdADSCDXX = ( USHORT ) -1; +static USHORT s_uiRddIdADSADTX = ( USHORT ) -1; static RDDFUNCS adsxSuper; @@ -1405,7 +1408,7 @@ static RDDFUNCS adsxTable = { NULL, NULL }; -static void adsxRegisterRDD( USHORT * pusRddId ) +static void adsxRegisterRDD( USHORT * pusRddId, const char * szRddName ) { RDDFUNCS * pTable; USHORT * uiCount, uiRddId; @@ -1419,7 +1422,7 @@ static void adsxRegisterRDD( USHORT * pusRddId ) { HB_ERRCODE errCode; - errCode = hb_rddInherit( pTable, &adsxTable, &adsxSuper, "ADS" ); + errCode = hb_rddInherit( pTable, &adsxTable, &adsxSuper, szRddName ); if( errCode == HB_SUCCESS ) { *pusRddId = uiRddId; @@ -1435,35 +1438,74 @@ static void adsxRegisterRDD( USHORT * pusRddId ) HB_FUNC( ADSX_GETFUNCTABLE ) { - adsxRegisterRDD( &s_uiRddIdADSX ); + adsxRegisterRDD( &s_uiRddIdADSX, "ADS" ); +} + + +HB_FUNC( ADSNTXX_GETFUNCTABLE ) +{ + adsxRegisterRDD( &s_uiRddIdADSNTXX, "ADSNTX" ); +} + + +HB_FUNC( ADSCDXX_GETFUNCTABLE ) +{ + adsxRegisterRDD( &s_uiRddIdADSCDXX, "ADSCDX" ); +} + + +HB_FUNC( ADSADTX_GETFUNCTABLE ) +{ + adsxRegisterRDD( &s_uiRddIdADSADTX, "ADSADT" ); } HB_FUNC( ADSX ) { ; } -HB_FUNC_EXTERN( ADS ); +HB_FUNC( ADSNTXX ) { ; } + +HB_FUNC( ADSCDXX ) { ; } + +HB_FUNC( ADSADTX ) { ; } + +HB_FUNC_EXTERN( ADSCDX ); static void hb_adsxRddInit( void * cargo ) { HB_SYMBOL_UNUSED( cargo ); - if( hb_rddRegister( "ADSX", RDT_FULL ) > 1 ) + if( hb_rddRegister( "ADSX", RDT_FULL ) > 1 || + hb_rddRegister( "ADSNTXX", RDT_FULL ) > 1 || + hb_rddRegister( "ADSCDXX", RDT_FULL ) > 1 || + hb_rddRegister( "ADSADTX", RDT_FULL ) > 1 ) { /* try different RDD registrer order */ hb_rddRegister( "ADS", RDT_FULL ); + hb_rddRegister( "ADSNTX", RDT_FULL ); + hb_rddRegister( "ADSCDX", RDT_FULL ); + hb_rddRegister( "ADSADT", RDT_FULL ); - if ( hb_rddRegister( "ADSX", RDT_FULL ) > 1 ) + if( hb_rddRegister( "ADSX", RDT_FULL ) > 1 || + hb_rddRegister( "ADSNTXX", RDT_FULL ) > 1 || + hb_rddRegister( "ADSCDXX", RDT_FULL ) > 1 || + hb_rddRegister( "ADSADTX", RDT_FULL ) > 1 ) { hb_errInternal( HB_EI_RDDINVALID, NULL, NULL, NULL ); /* not executed, only to force linking ADS RDD */ - HB_FUNC_EXEC( ADS ); + HB_FUNC_EXEC( ADSCDX ); } } } HB_INIT_SYMBOLS_BEGIN( adsx1__InitSymbols ) -{ "ADSX", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( ADSX )}, NULL }, -{ "ADSX_GETFUNCTABLE", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( ADSX_GETFUNCTABLE )}, NULL } +{ "ADSX", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( ADSX )}, NULL }, +{ "ADSX_GETFUNCTABLE", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( ADSX_GETFUNCTABLE )}, NULL }, +{ "ADSNTXX", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( ADSNTXX )}, NULL }, +{ "ADSNTXX_GETFUNCTABLE", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( ADSNTXX_GETFUNCTABLE )}, NULL }, +{ "ADSCDXX", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( ADSCDXX )}, NULL }, +{ "ADSCDXX_GETFUNCTABLE", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( ADSCDXX_GETFUNCTABLE )}, NULL }, +{ "ADSADTX", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( ADSADTX )}, NULL }, +{ "ADSADTX_GETFUNCTABLE", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( ADSADTX_GETFUNCTABLE )}, NULL } HB_INIT_SYMBOLS_END( adsx1__InitSymbols ) HB_CALL_ON_STARTUP_BEGIN( _hb_adsx_rdd_init_ )