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.
This commit is contained in:
Przemyslaw Czerpak
2006-03-13 22:17:28 +00:00
parent 9cd964e8d3
commit a8abcb6f42
3 changed files with 32 additions and 2 deletions

View File

@@ -8,6 +8,18 @@
2002-12-01 13:30 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/
* 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 <sys/time.h> 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

View File

@@ -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 );

View File

@@ -2822,6 +2822,12 @@ HB_EXPORT void hb_gtStartupInit( void )
if( hb_gtLoad( s_defaultGT, &gtCoreFunc ) )
return;
if( hb_dynsymFind( "HB_GT_NUL" ) ) /* GTNUL was explicitly requsted */
{
if( hb_gtLoad( "NUL", &gtCoreFunc ) )
return;
}
hb_errInternal( 9998, "Internal error: screen driver initialization failure", "", "" );
/* force linking HB_GTSYS() */