From a8abcb6f42138efcf75f66e98d46d5a30ef5eb12 Mon Sep 17 00:00:00 2001 From: Przemyslaw Czerpak Date: Mon, 13 Mar 2006 22:17:28 +0000 Subject: [PATCH] 2006-03-13 23:15 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/hbgtcore.c * respect pure REQUEST HB_GT_NUL as user GT choice if only GTNUL is linked * harbour/source/rtl/errorint.c ! fixed GPF when no lang module is register - I'll wait a while for other people opinion and if no one will give good reason against then I'll make EN language definition default part of langapi.c what will resolve the problem of valid error description when no language module is linked. --- harbour/ChangeLog | 12 ++++++++++++ harbour/source/rtl/errorint.c | 16 ++++++++++++++-- harbour/source/rtl/hbgtcore.c | 6 ++++++ 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 7189623248..1d6d577cf7 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,18 @@ 2002-12-01 13:30 UTC+0100 Foo Bar */ * harbour/makefile.vc + least one lang module defined at sartup. + Modified after common group agreement - no one was against, + thanks to all for answers. + Please update non GNU make files and remove + harbour/source/lang/msgen.c file. + + * harbour/source/rtl/cdpapi.c + * replaced CDP startup initialization with simple assignment + + * harbour/source/rtl/gtpca/gtpca.c + * added #include for *nix platforms + 2006-03-13 23:15 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/hbgtcore.c * respect pure REQUEST HB_GT_NUL as user GT choice if only GTNUL diff --git a/harbour/source/rtl/errorint.c b/harbour/source/rtl/errorint.c index c8d0cf2e68..b3f9dd89d9 100644 --- a/harbour/source/rtl/errorint.c +++ b/harbour/source/rtl/errorint.c @@ -61,13 +61,25 @@ void hb_errInternal( ULONG ulIntCode, const char * szText, const char * szPar1, const char * szPar2 ) { char buffer[ 1024 ]; + BOOL fLang; HB_TRACE(HB_TR_DEBUG, ("hb_errInternal(%lu, %s, %s, %s)", ulIntCode, szText, szPar1, szPar2)); + fLang = ( hb_langID() != NULL ); + hb_conOutErr( hb_conNewLine(), 0 ); - sprintf( buffer, ( char * ) hb_langDGetItem( HB_LANG_ITEM_BASE_ERRINTR ), ulIntCode ); + if( fLang ) + sprintf( buffer, ( char * ) hb_langDGetItem( HB_LANG_ITEM_BASE_ERRINTR ), ulIntCode ); + else + sprintf( buffer, "Unrecoverable error %lu: ", ulIntCode ); + hb_conOutErr( buffer, 0 ); - sprintf( buffer, szText != NULL ? szText : ( char * ) hb_langDGetItem( HB_LANG_ITEM_BASE_ERRINTR + ulIntCode - 9000 ), szPar1, szPar2 ); + if( szText ) + sprintf( buffer, szText, szPar1, szPar2 ); + else if( fLang ) + sprintf( buffer, ( char * ) hb_langDGetItem( HB_LANG_ITEM_BASE_ERRINTR + ulIntCode - 9000 ), szPar1, szPar2 ); + else + buffer[ 0 ] = '\0'; hb_conOutErr( buffer, 0 ); hb_conOutErr( hb_conNewLine(), 0 ); diff --git a/harbour/source/rtl/hbgtcore.c b/harbour/source/rtl/hbgtcore.c index 4125ef52a0..a3916e43f1 100644 --- a/harbour/source/rtl/hbgtcore.c +++ b/harbour/source/rtl/hbgtcore.c @@ -2822,6 +2822,12 @@ HB_EXPORT void hb_gtStartupInit( void ) if( hb_gtLoad( s_defaultGT, >CoreFunc ) ) return; + if( hb_dynsymFind( "HB_GT_NUL" ) ) /* GTNUL was explicitly requsted */ + { + if( hb_gtLoad( "NUL", >CoreFunc ) ) + return; + } + hb_errInternal( 9998, "Internal error: screen driver initialization failure", "", "" ); /* force linking HB_GTSYS() */