diff --git a/harbour/ChangeLog b/harbour/ChangeLog index b2c6b1fd0c..c2b3bb9628 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,33 @@ The license applies to all entries newer than 2009-04-28. */ +2010-11-26 12:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + * harbour/src/rdd/dbf1.c + * harbour/src/rdd/sdf1.c + * harbour/src/rdd/delim1.c + * harbour/src/rdd/dbffpt/dbffpt1.c + * harbour/src/rdd/dbfntx/dbfntx1.c + * harbour/src/rdd/dbfnsx/dbfnsx1.c + * harbour/src/rdd/dbfcdx/dbfcdx1.c + * harbour/contrib/rddads/adsx.c + * harbour/contrib/rddbmcdx/bmdbfcdx.c + * harbour/contrib/rddsql/sqlbase.c + * harbour/contrib/rddsql/sqlmix.c + * harbour/contrib/sddmy/sddmy.c + * harbour/contrib/sddfb/sddfb.c + * harbour/contrib/sddpg/sddpg.c + * harbour/contrib/sddoci/sddoci.c + * harbour/contrib/sddodbc/sddodbc.c + * harbour/contrib/sddsqlt3/sddsqlt3.c + * harbour/include/harbour.hbx + * harbour/contrib/rddads/rddads.hbx + * declare *_GETFUNCTABLE() functions as static - they do not have to + be public C functions + * simplified if possible RDD registration code and modified + supper RDD request method so it's not stripped by compiler + when hb_errInternal() function is declared with NORETURN + attribute + 2010-11-25 11:51 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/src/rtl/hbinet.c * restored old behavior of listen sockets used by hb_inet*() functions diff --git a/harbour/contrib/rddads/adsx.c b/harbour/contrib/rddads/adsx.c index 96d62ae739..b8ddf511b7 100644 --- a/harbour/contrib/rddads/adsx.c +++ b/harbour/contrib/rddads/adsx.c @@ -1503,32 +1503,32 @@ static void adsxRegisterRDD( HB_USHORT * pusRddId, const char * szRddName ) } -HB_FUNC( ADSX_GETFUNCTABLE ) +HB_FUNC_STATIC( ADSX_GETFUNCTABLE ) { adsxRegisterRDD( &s_uiRddIdADSX, "ADS" ); } -HB_FUNC( ADSNTXX_GETFUNCTABLE ) +HB_FUNC_STATIC( ADSNTXX_GETFUNCTABLE ) { adsxRegisterRDD( &s_uiRddIdADSNTXX, "ADSNTX" ); } -HB_FUNC( ADSCDXX_GETFUNCTABLE ) +HB_FUNC_STATIC( ADSCDXX_GETFUNCTABLE ) { adsxRegisterRDD( &s_uiRddIdADSCDXX, "ADSCDX" ); } #if ADS_LIB_VERSION >= 900 -HB_FUNC( ADSVFPX_GETFUNCTABLE ) +HB_FUNC_STATIC( ADSVFPX_GETFUNCTABLE ) { adsxRegisterRDD( &s_uiRddIdADSVFPX, "ADSVFP" ); } #endif -HB_FUNC( ADSADTX_GETFUNCTABLE ) +HB_FUNC_STATIC( ADSADTX_GETFUNCTABLE ) { adsxRegisterRDD( &s_uiRddIdADSADTX, "ADSADT" ); } diff --git a/harbour/contrib/rddads/rddads.hbx b/harbour/contrib/rddads/rddads.hbx index bc522bdd8f..3227987ea9 100644 --- a/harbour/contrib/rddads/rddads.hbx +++ b/harbour/contrib/rddads/rddads.hbx @@ -30,7 +30,6 @@ DYNAMIC ADS DYNAMIC ADSADDCUSTOMKEY DYNAMIC ADSADT DYNAMIC ADSADTX -DYNAMIC ADSADTX_GETFUNCTABLE DYNAMIC ADSAPPLICATIONEXIT DYNAMIC ADSBEGINTRANSACTION DYNAMIC ADSBLOB2FILE @@ -39,7 +38,6 @@ DYNAMIC ADSCACHEOPENTABLES DYNAMIC ADSCACHERECORDS DYNAMIC ADSCDX DYNAMIC ADSCDXX -DYNAMIC ADSCDXX_GETFUNCTABLE DYNAMIC ADSCHECKEXISTENCE DYNAMIC ADSCLEARAOF DYNAMIC ADSCLOSEALLTABLES @@ -138,7 +136,6 @@ DYNAMIC ADSMGRESETCOMMSTATS DYNAMIC ADSMGSETHANDLE DYNAMIC ADSNTX DYNAMIC ADSNTXX -DYNAMIC ADSNTXX_GETFUNCTABLE DYNAMIC ADSPREPARESQL DYNAMIC ADSREFRESHAOF DYNAMIC ADSREFRESHRECORD @@ -169,10 +166,8 @@ DYNAMIC ADSVERIFYSQL DYNAMIC ADSVERSION DYNAMIC ADSVFP DYNAMIC ADSVFPX -DYNAMIC ADSVFPX_GETFUNCTABLE DYNAMIC ADSWRITEALLRECORDS DYNAMIC ADSX -DYNAMIC ADSX_GETFUNCTABLE DYNAMIC HB_RDDADSREGISTER #ifdef __HBEXTERN__RDDADS__REQUEST diff --git a/harbour/contrib/rddbmcdx/bmdbfcdx.c b/harbour/contrib/rddbmcdx/bmdbfcdx.c index 68fbaf9527..b1530030d7 100644 --- a/harbour/contrib/rddbmcdx/bmdbfcdx.c +++ b/harbour/contrib/rddbmcdx/bmdbfcdx.c @@ -725,10 +725,9 @@ static const RDDFUNCS bmTable = ( DBENTRYP_SVP ) NULL /* WhoCares */ }; -HB_FUNC_EXTERN( DBFCDX ); +HB_FUNC_EXTERN( DBFCDX ); HB_FUNC( BMDBFCDX ) { HB_FUNC_EXEC( DBFCDX ); } -HB_FUNC( BMDBFCDX ) {;} -HB_FUNC( BMDBFCDX_GETFUNCTABLE ) +HB_FUNC_STATIC( BMDBFCDX_GETFUNCTABLE ) { RDDFUNCS * pTable, * pSuperTable; HB_USHORT * puiCount, uiRddId, * puiSuperRddId; @@ -771,18 +770,9 @@ static void hb_bmRddInit( void * cargo ) { HB_SYMBOL_UNUSED( cargo ); - if( hb_rddRegister( "DBF", RDT_FULL ) <= 1 ) - { - hb_rddRegister( "DBFFPT", RDT_FULL ); - if( hb_rddRegister( "DBFCDX", RDT_FULL ) <= 1 && - hb_rddRegister( "BMDBFCDX", RDT_FULL ) <= 1 ) - return; - } - - hb_errInternal( HB_EI_RDDINVALID, NULL, NULL, NULL ); - - /* not executed, only to force linking DBFCDX RDD */ - HB_FUNC_EXEC( DBFCDX ); + if( hb_rddRegister( "DBFCDX", RDT_FULL ) > 1 || + hb_rddRegister( "BMDBFCDX", RDT_FULL ) > 1 ) + hb_errInternal( HB_EI_RDDINVALID, NULL, NULL, NULL ); } HB_INIT_SYMBOLS_BEGIN( bmap1__InitSymbols ) diff --git a/harbour/contrib/rddsql/sqlbase.c b/harbour/contrib/rddsql/sqlbase.c index 5c0c0dea83..f689b4f276 100644 --- a/harbour/contrib/rddsql/sqlbase.c +++ b/harbour/contrib/rddsql/sqlbase.c @@ -1225,19 +1225,9 @@ static RDDFUNCS sqlbaseTable = /*================ Module initialization code ========================================*/ -static void hb_sqlbaseInit( void * cargo ) -{ - HB_SYMBOL_UNUSED( cargo ); - - if ( hb_rddRegister( "SQLBASE", RDT_FULL ) > 1 ) - { - hb_errInternal( HB_EI_RDDINVALID, NULL, NULL, NULL ); - } -} - HB_FUNC( SQLBASE ) {;} -HB_FUNC( SQLBASE_GETFUNCTABLE ) +HB_FUNC_STATIC( SQLBASE_GETFUNCTABLE ) { RDDFUNCS * pTable; HB_USHORT * puiCount, uiRddId; @@ -1266,6 +1256,13 @@ HB_FUNC( SQLBASE_GETFUNCTABLE ) } } +static void hb_sqlbaseInit( void * cargo ) +{ + HB_SYMBOL_UNUSED( cargo ); + + if ( hb_rddRegister( "SQLBASE", RDT_FULL ) > 1 ) + hb_errInternal( HB_EI_RDDINVALID, NULL, NULL, NULL ); +} HB_INIT_SYMBOLS_BEGIN( sqlbase__InitSymbols ) { "SQLBASE", {HB_FS_PUBLIC}, {HB_FUNCNAME( SQLBASE )}, NULL }, diff --git a/harbour/contrib/rddsql/sqlmix.c b/harbour/contrib/rddsql/sqlmix.c index 85d90e8aef..68ed7e2c50 100644 --- a/harbour/contrib/rddsql/sqlmix.c +++ b/harbour/contrib/rddsql/sqlmix.c @@ -2166,7 +2166,9 @@ static RDDFUNCS sqlmixTable = }; -HB_FUNC( SQLMIX_GETFUNCTABLE ) +HB_FUNC_EXTERN( SQLBASE ); HB_FUNC( SQLMIX ) { HB_FUNC_EXEC( SQLBASE ); } + +HB_FUNC_STATIC( SQLMIX_GETFUNCTABLE ) { RDDFUNCS * pTable; HB_USHORT * puiCount, * puiSuperRddId, uiRddId; @@ -2196,25 +2198,13 @@ HB_FUNC( SQLMIX_GETFUNCTABLE ) } } -HB_FUNC( SQLMIX ) { ; } - -HB_FUNC_EXTERN( SQLBASE ); - static void hb_sqlmixRddInit( void * cargo ) { HB_SYMBOL_UNUSED( cargo ); - if ( hb_rddRegister( "SQLMIX", RDT_FULL ) > 1 ) - { - /* try different RDD registrer order */ - hb_rddRegister( "SQLBASE", RDT_FULL ); - - if ( hb_rddRegister( "SQLMIX", RDT_FULL ) > 1 ) - { - hb_errInternal( HB_EI_RDDINVALID, NULL, NULL, NULL ); - HB_FUNC_EXEC( SQLBASE ); /* force SQLBASE linking */ - } - } + if( hb_rddRegister( "SQLBASE", RDT_FULL ) > 1 || + hb_rddRegister( "SQLMIX", RDT_FULL ) > 1 ) + hb_errInternal( HB_EI_RDDINVALID, NULL, NULL, NULL ); } HB_INIT_SYMBOLS_BEGIN( sqlmix__InitSymbols ) diff --git a/harbour/contrib/sddfb/sddfb.c b/harbour/contrib/sddfb/sddfb.c index 5226d075ff..7a454f5187 100644 --- a/harbour/contrib/sddfb/sddfb.c +++ b/harbour/contrib/sddfb/sddfb.c @@ -98,8 +98,6 @@ static SDDNODE firebirddd = { }; -HB_FUNC_EXTERN( SQLBASE ); - static void hb_firebirddd_init( void * cargo ) { HB_SYMBOL_UNUSED( cargo ); @@ -107,11 +105,11 @@ static void hb_firebirddd_init( void * cargo ) if ( ! hb_sddRegister( &firebirddd ) || ( sizeof( isc_db_handle ) != sizeof( void * ) ) ) { hb_errInternal( HB_EI_RDDINVALID, NULL, NULL, NULL ); - HB_FUNC_EXEC( SQLBASE ); /* force SQLBASE linking */ } } -HB_FUNC( SDDFB ) {;} +/* force SQLBASE linking */ +HB_FUNC_EXTERN( SQLBASE ); HB_FUNC( SDDFB ) { HB_FUNC_EXEC( SQLBASE ); } HB_INIT_SYMBOLS_BEGIN( firebirddd__InitSymbols ) { "SDDFB", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( SDDFB )}, NULL }, diff --git a/harbour/contrib/sddmy/sddmy.c b/harbour/contrib/sddmy/sddmy.c index d4a99f49b0..653132379a 100644 --- a/harbour/contrib/sddmy/sddmy.c +++ b/harbour/contrib/sddmy/sddmy.c @@ -104,8 +104,6 @@ static SDDNODE mysqldd = }; -HB_FUNC_EXTERN( SQLBASE ); - static void hb_mysqldd_init( void * cargo ) { HB_SYMBOL_UNUSED( cargo ); @@ -114,11 +112,11 @@ static void hb_mysqldd_init( void * cargo ) ( sizeof( MYSQL_ROW_OFFSET ) != sizeof( void * ) ) ) { hb_errInternal( HB_EI_RDDINVALID, NULL, NULL, NULL ); - HB_FUNC_EXEC( SQLBASE ); /* force SQLBASE linking */ } } -HB_FUNC( SDDMY ) {;} +/* force SQLBASE linking */ +HB_FUNC_EXTERN( SQLBASE ); HB_FUNC( SDDMY ) { HB_FUNC_EXEC( SQLBASE ); } HB_INIT_SYMBOLS_BEGIN( mysqldd__InitSymbols ) { "SDDMY", {HB_FS_PUBLIC}, {HB_FUNCNAME( SDDMY )}, NULL }, diff --git a/harbour/contrib/sddoci/sddoci.c b/harbour/contrib/sddoci/sddoci.c index 35db354dd6..d2a1c309ca 100644 --- a/harbour/contrib/sddoci/sddoci.c +++ b/harbour/contrib/sddoci/sddoci.c @@ -129,8 +129,6 @@ static SDDNODE ocidd = }; -HB_FUNC_EXTERN( SQLBASE ); - static void hb_ocidd_init( void * cargo ) { HB_SYMBOL_UNUSED( cargo ); @@ -140,7 +138,6 @@ static void hb_ocidd_init( void * cargo ) if( ! hb_sddRegister( &ocidd ) ) { hb_errInternal( HB_EI_RDDINVALID, NULL, NULL, NULL ); - HB_FUNC_EXEC( SQLBASE ); /* force SQLBASE linking */ } } @@ -151,7 +148,8 @@ static void hb_ocidd_exit( void * cargo ) OCI_Cleanup(); } -HB_FUNC( SDDOCI ) {;} +/* force SQLBASE linking */ +HB_FUNC_EXTERN( SQLBASE ); HB_FUNC( SDDOCI ) { HB_FUNC_EXEC( SQLBASE ); } HB_INIT_SYMBOLS_BEGIN( ocidd__InitSymbols ) { "SDDOCI", {HB_FS_PUBLIC}, {HB_FUNCNAME( SDDOCI )}, NULL }, diff --git a/harbour/contrib/sddodbc/sddodbc.c b/harbour/contrib/sddodbc/sddodbc.c index 235d2c344d..58edc88474 100644 --- a/harbour/contrib/sddodbc/sddodbc.c +++ b/harbour/contrib/sddodbc/sddodbc.c @@ -127,8 +127,6 @@ static SDDNODE odbcdd = }; -HB_FUNC_EXTERN( SQLBASE ); - static void hb_odbcdd_init( void * cargo ) { HB_SYMBOL_UNUSED( cargo ); @@ -136,11 +134,11 @@ static void hb_odbcdd_init( void * cargo ) if ( ! hb_sddRegister( & odbcdd ) ) { hb_errInternal( HB_EI_RDDINVALID, NULL, NULL, NULL ); - HB_FUNC_EXEC( SQLBASE ); /* force SQLBASE linking */ } } -HB_FUNC( SDDODBC ) {;} +/* force SQLBASE linking */ +HB_FUNC_EXTERN( SQLBASE ); HB_FUNC( SDDODBC ) { HB_FUNC_EXEC( SQLBASE ); } HB_INIT_SYMBOLS_BEGIN( odbcdd__InitSymbols ) { "SDDODBC", {HB_FS_PUBLIC}, {HB_FUNCNAME( SDDODBC )}, NULL }, diff --git a/harbour/contrib/sddpg/sddpg.c b/harbour/contrib/sddpg/sddpg.c index 4363088e13..6c12dc127c 100644 --- a/harbour/contrib/sddpg/sddpg.c +++ b/harbour/contrib/sddpg/sddpg.c @@ -117,8 +117,6 @@ static SDDNODE pgsqldd = { }; -HB_FUNC_EXTERN( SQLBASE ); - static void hb_pgsqldd_init( void * cargo ) { HB_SYMBOL_UNUSED( cargo ); @@ -126,11 +124,11 @@ static void hb_pgsqldd_init( void * cargo ) if ( ! hb_sddRegister( & pgsqldd ) ) { hb_errInternal( HB_EI_RDDINVALID, NULL, NULL, NULL ); - HB_FUNC_EXEC( SQLBASE ); /* force SQLBASE linking */ } } -HB_FUNC( SDDPG ) {;} +/* force SQLBASE linking */ +HB_FUNC_EXTERN( SQLBASE ); HB_FUNC( SDDPG ) { HB_FUNC_EXEC( SQLBASE ); } HB_INIT_SYMBOLS_BEGIN( sddpostgre__InitSymbols ) { "SDDPG", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( SDDPG )}, NULL }, diff --git a/harbour/contrib/sddsqlt3/sddsqlt3.c b/harbour/contrib/sddsqlt3/sddsqlt3.c index 1104a3fcf1..2e83e93f43 100644 --- a/harbour/contrib/sddsqlt3/sddsqlt3.c +++ b/harbour/contrib/sddsqlt3/sddsqlt3.c @@ -98,8 +98,6 @@ static SDDNODE sqlt3dd = }; -HB_FUNC_EXTERN( SQLBASE ); - static void hb_sqlt3dd_init( void * cargo ) { HB_SYMBOL_UNUSED( cargo ); @@ -111,7 +109,6 @@ static void hb_sqlt3dd_init( void * cargo ) if( ! hb_sddRegister( &sqlt3dd ) ) { hb_errInternal( HB_EI_RDDINVALID, NULL, NULL, NULL ); - HB_FUNC_EXEC( SQLBASE ); /* force SQLBASE linking */ } } @@ -124,7 +121,8 @@ static void hb_sqlt3dd_exit( void * cargo ) #endif } -HB_FUNC( SDDSQLITE3 ) {;} +/* force SQLBASE linking */ +HB_FUNC_EXTERN( SQLBASE ); HB_FUNC( SDDSQLITE3 ) { HB_FUNC_EXEC( SQLBASE ); } HB_INIT_SYMBOLS_BEGIN( sqlt3dd__InitSymbols ) { "SDDSQLITE3", {HB_FS_PUBLIC}, {HB_FUNCNAME( SDDSQLITE3 )}, NULL }, diff --git a/harbour/include/harbour.hbx b/harbour/include/harbour.hbx index 20207284b7..a72349d8c0 100644 --- a/harbour/include/harbour.hbx +++ b/harbour/include/harbour.hbx @@ -122,23 +122,17 @@ DYNAMIC DBEVAL DYNAMIC DBEXISTS DYNAMIC DBF DYNAMIC DBFBLOB -DYNAMIC DBFBLOB_GETFUNCTABLE DYNAMIC DBFCDX -DYNAMIC DBFCDX_GETFUNCTABLE DYNAMIC DBFDBT DYNAMIC DBFFPT -DYNAMIC DBFFPT_GETFUNCTABLE DYNAMIC DBFIELDINF DYNAMIC DBFIELDINFO DYNAMIC DBFILEGET DYNAMIC DBFILEPUT DYNAMIC DBFILTER DYNAMIC DBFNSX -DYNAMIC DBFNSX_GETFUNCTABLE DYNAMIC DBFNTX -DYNAMIC DBFNTX_GETFUNCTABLE DYNAMIC DBFSMT -DYNAMIC DBF_GETFUNCTABLE DYNAMIC DBGOBOTTOM DYNAMIC DBGOTO DYNAMIC DBGOTOP @@ -178,7 +172,6 @@ DYNAMIC DBUSEAREA DYNAMIC DEFPATH DYNAMIC DELETED DYNAMIC DELIM -DYNAMIC DELIM_GETFUNCTABLE DYNAMIC DESCEND DYNAMIC DEVOUT DYNAMIC DEVOUTPICT @@ -1000,7 +993,6 @@ DYNAMIC SAVESCREEN DYNAMIC SCROLL DYNAMIC SCROLLBAR DYNAMIC SDF -DYNAMIC SDF_GETFUNCTABLE DYNAMIC SECONDS DYNAMIC SECS DYNAMIC SELECT @@ -1019,7 +1011,6 @@ DYNAMIC SETTYPEAHEAD DYNAMIC SHOWGETMSG DYNAMIC SHOWMSG DYNAMIC SIXCDX -DYNAMIC SIXCDX_GETFUNCTABLE DYNAMIC SOUNDEX DYNAMIC SPACE DYNAMIC SQRT diff --git a/harbour/src/rdd/dbf1.c b/harbour/src/rdd/dbf1.c index e65bb72836..26a7f493af 100644 --- a/harbour/src/rdd/dbf1.c +++ b/harbour/src/rdd/dbf1.c @@ -5872,7 +5872,7 @@ static const RDDFUNCS dbfTable = { ( DBENTRYP_BP ) hb_dbfBof, HB_FUNC( _DBF ) { ; } -HB_FUNC( DBF_GETFUNCTABLE ) +HB_FUNC_STATIC( DBF_GETFUNCTABLE ) { RDDFUNCS * pTable; HB_USHORT * puiCount, uiRddId; @@ -5909,9 +5909,7 @@ static void hb_dbfRddInit( void * cargo ) HB_SYMBOL_UNUSED( cargo ); if( hb_rddRegister( "DBF", RDT_FULL ) > 1 ) - { hb_errInternal( HB_EI_RDDINVALID, NULL, NULL, NULL ); - } } HB_INIT_SYMBOLS_BEGIN( dbf1__InitSymbols ) diff --git a/harbour/src/rdd/dbfcdx/dbfcdx1.c b/harbour/src/rdd/dbfcdx/dbfcdx1.c index 388c12ac40..a495addeb3 100644 --- a/harbour/src/rdd/dbfcdx/dbfcdx1.c +++ b/harbour/src/rdd/dbfcdx/dbfcdx1.c @@ -9855,89 +9855,13 @@ static const RDDFUNCS cdxTable = }; -HB_FUNC_EXTERN( _DBF ); - #if defined( HB_SIXCDX ) - -HB_FUNC( SIXCDX ) {;} - -HB_FUNC( SIXCDX_GETFUNCTABLE ) -{ - RDDFUNCS * pTable; - HB_USHORT * puiCount, uiRddId, * puiSuperRddId; - - puiCount = ( HB_USHORT * ) hb_parptr( 1 ); - pTable = ( RDDFUNCS * ) hb_parptr( 2 ); - uiRddId = hb_parni( 4 ); - puiSuperRddId = ( HB_USHORT * ) hb_parptr( 5 ); - - HB_TRACE(HB_TR_DEBUG, ("SIXCDX_GETFUNCTABLE(%p, %p)", puiCount, pTable)); - - if( pTable ) - { - HB_ERRCODE errCode; - - if( puiCount ) - * puiCount = RDDFUNCSCOUNT; - errCode = hb_rddInheritEx( pTable, &cdxTable, &cdxSuper, "DBFFPT", puiSuperRddId ); - if( errCode != HB_SUCCESS ) - errCode = hb_rddInheritEx( pTable, &cdxTable, &cdxSuper, "DBFDBT", puiSuperRddId ); - if( errCode != HB_SUCCESS ) - errCode = hb_rddInheritEx( pTable, &cdxTable, &cdxSuper, "DBF", puiSuperRddId ); - hb_retni( errCode ); - if( errCode == HB_SUCCESS ) - { - /* - * we successfully register our RDD so now we can initialize it - * You may think that this place is RDD init statement, Druzus - */ - s_uiRddId = uiRddId; - } - } - else - hb_retni( HB_FAILURE ); -} - -static void hb_sixcdxRddInit( void * cargo ) -{ - HB_SYMBOL_UNUSED( cargo ); - - if( hb_rddRegister( "DBF", RDT_FULL ) <= 1 ) - { - hb_rddRegister( "DBFFPT", RDT_FULL ); - if( hb_rddRegister( "SIXCDX", RDT_FULL ) <= 1 ) - return; - } - - hb_errInternal( HB_EI_RDDINVALID, NULL, NULL, NULL ); - - /* not executed, only to force linking DBF RDD */ - HB_FUNC_EXEC( _DBF ); -} - -HB_INIT_SYMBOLS_BEGIN( sixcdx1__InitSymbols ) -{ "SIXCDX", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( SIXCDX )}, NULL }, -{ "SIXCDX_GETFUNCTABLE", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( SIXCDX_GETFUNCTABLE )}, NULL } -HB_INIT_SYMBOLS_END( sixcdx1__InitSymbols ) - -HB_CALL_ON_STARTUP_BEGIN( _hb_sixcdx_rdd_init_ ) - hb_vmAtInit( hb_sixcdxRddInit, NULL ); -HB_CALL_ON_STARTUP_END( _hb_sixcdx_rdd_init_ ) - -#if defined( HB_PRAGMA_STARTUP ) - #pragma startup sixcdx1__InitSymbols - #pragma startup _hb_sixcdx_rdd_init_ -#elif defined( HB_DATASEG_STARTUP ) - #define HB_DATASEG_BODY HB_DATASEG_FUNC( sixcdx1__InitSymbols ) \ - HB_DATASEG_FUNC( _hb_sixcdx_rdd_init_ ) - #include "hbiniseg.h" +# define HB_CDXRDD "SIXCDX" +#else +# define HB_CDXRDD "DBFCDX" #endif -#else - -HB_FUNC( DBFCDX ) {;} - -HB_FUNC( DBFCDX_GETFUNCTABLE ) +HB_FUNC_STATIC( _GETFUNCTABLE ) { RDDFUNCS * pTable; HB_USHORT * puiCount, uiRddId, * puiSuperRddId; @@ -9947,7 +9871,7 @@ HB_FUNC( DBFCDX_GETFUNCTABLE ) uiRddId = ( HB_USHORT ) hb_parni( 4 ); puiSuperRddId = ( HB_USHORT * ) hb_parptr( 5 ); - HB_TRACE(HB_TR_DEBUG, ("DBFCDX_GETFUNCTABLE(%p, %p)", puiCount, pTable)); + HB_TRACE(HB_TR_DEBUG, (HB_CDXRDD "_GETFUNCTABLE(%p, %p)", puiCount, pTable)); if( pTable ) { @@ -9974,39 +9898,43 @@ HB_FUNC( DBFCDX_GETFUNCTABLE ) hb_retni( HB_FAILURE ); } -static void hb_dbfcdxRddInit( void * cargo ) +static void hb_cdxRddInit( void * cargo ) { HB_SYMBOL_UNUSED( cargo ); if( hb_rddRegister( "DBF", RDT_FULL ) <= 1 ) { hb_rddRegister( "DBFFPT", RDT_FULL ); - if( hb_rddRegister( "DBFCDX", RDT_FULL ) <= 1 ) + if( hb_rddRegister( HB_CDXRDD, RDT_FULL ) <= 1 ) return; } hb_errInternal( HB_EI_RDDINVALID, NULL, NULL, NULL ); - - /* not executed, only to force linking DBF RDD */ - HB_FUNC_EXEC( _DBF ); } -HB_INIT_SYMBOLS_BEGIN( dbfcdx1__InitSymbols ) +#if defined( HB_SIXCDX ) +HB_FUNC_EXTERN( _DBF ); HB_FUNC( SIXCDX ) { HB_FUNC_EXEC( _DBF ); } +HB_INIT_SYMBOLS_BEGIN( _hb_cdx1_InitSymbols_ ) +{ "SIXCDX", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( SIXCDX )}, NULL }, +{ "SIXCDX_GETFUNCTABLE", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( _GETFUNCTABLE )}, NULL } +HB_INIT_SYMBOLS_END( _hb_cdx1_InitSymbols_ ) +#else +HB_FUNC_EXTERN( _DBF ); HB_FUNC( DBFCDX ) { HB_FUNC_EXEC( _DBF ); } +HB_INIT_SYMBOLS_BEGIN( _hb_cdx1_InitSymbols_ ) { "DBFCDX", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( DBFCDX )}, NULL }, -{ "DBFCDX_GETFUNCTABLE", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( DBFCDX_GETFUNCTABLE )}, NULL } -HB_INIT_SYMBOLS_END( dbfcdx1__InitSymbols ) +{ "DBFCDX_GETFUNCTABLE", {HB_FS_PUBLIC|HB_FS_LOCAL}, {HB_FUNCNAME( _GETFUNCTABLE )}, NULL } +HB_INIT_SYMBOLS_END( _hb_cdx1_InitSymbols_ ) +#endif -HB_CALL_ON_STARTUP_BEGIN( _hb_dbfcdx_rdd_init_ ) - hb_vmAtInit( hb_dbfcdxRddInit, NULL ); -HB_CALL_ON_STARTUP_END( _hb_dbfcdx_rdd_init_ ) +HB_CALL_ON_STARTUP_BEGIN( _hb_cdx_rdd_init_ ) + hb_vmAtInit( hb_cdxRddInit, NULL ); +HB_CALL_ON_STARTUP_END( _hb_cdx_rdd_init_ ) #if defined( HB_PRAGMA_STARTUP ) - #pragma startup dbfcdx1__InitSymbols - #pragma startup _hb_dbfcdx_rdd_init_ + #pragma startup _hb_cdx1_InitSymbols_ + #pragma startup _hb_cdx_rdd_init_ #elif defined( HB_DATASEG_STARTUP ) - #define HB_DATASEG_BODY HB_DATASEG_FUNC( dbfcdx1__InitSymbols ) \ - HB_DATASEG_FUNC( _hb_dbfcdx_rdd_init_ ) + #define HB_DATASEG_BODY HB_DATASEG_FUNC( _hb_cdx1_InitSymbols_ ) \ + HB_DATASEG_FUNC( _hb_cdx_rdd_init_ ) #include "hbiniseg.h" #endif - -#endif diff --git a/harbour/src/rdd/dbffpt/dbffpt1.c b/harbour/src/rdd/dbffpt/dbffpt1.c index ddf595160b..a2c8d1f618 100644 --- a/harbour/src/rdd/dbffpt/dbffpt1.c +++ b/harbour/src/rdd/dbffpt/dbffpt1.c @@ -5427,10 +5427,11 @@ static const RDDFUNCS fptTable = ( DBENTRYP_SVP ) NULL /* hb_fptWhoCares */ }; +HB_FUNC_EXTERN( _DBF ); +HB_FUNC( DBFFPT ) { HB_FUNC_EXEC( _DBF ); } HB_FUNC( DBFDBT ) {;} HB_FUNC( DBFSMT ) {;} -HB_FUNC( DBFFPT ) {;} HB_FUNC( DBFBLOB ) {;} static void hb_dbffptRegisterRDD( HB_USHORT * pusRddId ) @@ -5461,22 +5462,20 @@ static void hb_dbffptRegisterRDD( HB_USHORT * pusRddId ) hb_retni( HB_FAILURE ); } -HB_FUNC( DBFFPT_GETFUNCTABLE ) +HB_FUNC_STATIC( DBFFPT_GETFUNCTABLE ) { HB_TRACE(HB_TR_DEBUG, ("DBFFPT_GETFUNCTABLE()")); hb_dbffptRegisterRDD( &s_uiRddIdFPT ); } -HB_FUNC( DBFBLOB_GETFUNCTABLE ) +HB_FUNC_STATIC( DBFBLOB_GETFUNCTABLE ) { HB_TRACE(HB_TR_DEBUG, ("DBFBLOB_GETFUNCTABLE()")); hb_dbffptRegisterRDD( &s_uiRddIdBLOB ); } -HB_FUNC_EXTERN( _DBF ); - static void hb_dbffptRddInit( void * cargo ) { HB_SYMBOL_UNUSED( cargo ); @@ -5486,9 +5485,6 @@ static void hb_dbffptRddInit( void * cargo ) hb_rddRegister( "DBFBLOB", RDT_FULL ) > 1 ) { hb_errInternal( HB_EI_RDDINVALID, NULL, NULL, NULL ); - - /* not executed, only to force linking DBF RDD */ - HB_FUNC_EXEC( _DBF ); } } diff --git a/harbour/src/rdd/dbfnsx/dbfnsx1.c b/harbour/src/rdd/dbfnsx/dbfnsx1.c index a834f00f94..5d6485e9d3 100644 --- a/harbour/src/rdd/dbfnsx/dbfnsx1.c +++ b/harbour/src/rdd/dbfnsx/dbfnsx1.c @@ -8171,9 +8171,9 @@ static const RDDFUNCS nsxTable = { NULL }; -HB_FUNC( DBFNSX ) {;} +HB_FUNC_EXTERN( _DBF ); HB_FUNC( DBFNSX ) { HB_FUNC_EXEC( _DBF ); } -HB_FUNC( DBFNSX_GETFUNCTABLE ) +HB_FUNC_STATIC( DBFNSX_GETFUNCTABLE ) { RDDFUNCS * pTable; HB_USHORT * puiCount, uiRddId, * puiSuperRddId; @@ -8208,8 +8208,6 @@ HB_FUNC( DBFNSX_GETFUNCTABLE ) } } -HB_FUNC_EXTERN( _DBF ); - static void hb_dbfnsxRddInit( void * cargo ) { HB_SYMBOL_UNUSED( cargo ); @@ -8222,9 +8220,6 @@ static void hb_dbfnsxRddInit( void * cargo ) } hb_errInternal( HB_EI_RDDINVALID, NULL, NULL, NULL ); - - /* not executed, only to force linking DBF RDD */ - HB_FUNC_EXEC( _DBF ); } HB_INIT_SYMBOLS_BEGIN( dbfnsx1__InitSymbols ) diff --git a/harbour/src/rdd/dbfntx/dbfntx1.c b/harbour/src/rdd/dbfntx/dbfntx1.c index e58cd4f877..3d8038fbc7 100644 --- a/harbour/src/rdd/dbfntx/dbfntx1.c +++ b/harbour/src/rdd/dbfntx/dbfntx1.c @@ -7850,9 +7850,9 @@ static const RDDFUNCS ntxTable = { hb_ntxWhoCares }; -HB_FUNC( DBFNTX ) {;} +HB_FUNC_EXTERN( _DBF ); HB_FUNC( DBFNTX ) { HB_FUNC_EXEC( _DBF ); } -HB_FUNC( DBFNTX_GETFUNCTABLE ) +HB_FUNC_STATIC( DBFNTX_GETFUNCTABLE ) { RDDFUNCS * pTable; HB_USHORT * puiCount, uiRddId, * puiSuperRddId; @@ -7889,8 +7889,6 @@ HB_FUNC( DBFNTX_GETFUNCTABLE ) } } -HB_FUNC_EXTERN( _DBF ); - static void hb_dbfntxRddInit( void * cargo ) { HB_SYMBOL_UNUSED( cargo ); @@ -7903,9 +7901,6 @@ static void hb_dbfntxRddInit( void * cargo ) } hb_errInternal( HB_EI_RDDINVALID, NULL, NULL, NULL ); - - /* not executed, only to force linking DBF RDD */ - HB_FUNC_EXEC( _DBF ); } HB_INIT_SYMBOLS_BEGIN( dbfntx1__InitSymbols ) diff --git a/harbour/src/rdd/delim1.c b/harbour/src/rdd/delim1.c index a3c803eda0..9d51dffd50 100644 --- a/harbour/src/rdd/delim1.c +++ b/harbour/src/rdd/delim1.c @@ -1566,7 +1566,7 @@ static const RDDFUNCS delimTable = { NULL /* hb_delimBof */, HB_FUNC( DELIM ) { ; } -HB_FUNC( DELIM_GETFUNCTABLE ) +HB_FUNC_STATIC( DELIM_GETFUNCTABLE ) { RDDFUNCS * pTable; HB_USHORT * puiCount; @@ -1591,9 +1591,7 @@ static void hb_delimRddInit( void * cargo ) HB_SYMBOL_UNUSED( cargo ); if( hb_rddRegister( "DELIM", RDT_TRANSFER ) > 1 ) - { hb_errInternal( HB_EI_RDDINVALID, NULL, NULL, NULL ); - } } HB_INIT_SYMBOLS_BEGIN( delim1__InitSymbols ) diff --git a/harbour/src/rdd/sdf1.c b/harbour/src/rdd/sdf1.c index 74f11e830a..3fae57978b 100644 --- a/harbour/src/rdd/sdf1.c +++ b/harbour/src/rdd/sdf1.c @@ -1303,7 +1303,7 @@ static const RDDFUNCS sdfTable = { NULL /* hb_sdfBof */, HB_FUNC( SDF ) { ; } -HB_FUNC( SDF_GETFUNCTABLE ) +HB_FUNC_STATIC( SDF_GETFUNCTABLE ) { RDDFUNCS * pTable; HB_USHORT * puiCount; @@ -1328,9 +1328,7 @@ static void hb_sdfRddInit( void * cargo ) HB_SYMBOL_UNUSED( cargo ); if( hb_rddRegister( "SDF", RDT_TRANSFER ) > 1 ) - { hb_errInternal( HB_EI_RDDINVALID, NULL, NULL, NULL ); - } } HB_INIT_SYMBOLS_BEGIN( sdf1__InitSymbols )