2008-09-23 20:41 UTC+0200 Viktor Szakats (harbour.01 syenar hu)

* source/vm/extrap.c
    ! Fixed to close .log file before showing MessageBox().
      [TOMERGE 1.0]

    + Don't attempt to write into .log file if the _SET_HBOUTLOG 
      filename is empty.

    ; TOFIX: Remove all remaining MessageBox() calls from 
             Harbour sources.
This commit is contained in:
Viktor Szakats
2008-09-23 18:42:29 +00:00
parent 2db644f214
commit 09b0509b08
2 changed files with 47 additions and 36 deletions

View File

@@ -8,6 +8,17 @@
2008-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
*/
2008-09-23 20:41 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/vm/extrap.c
! Fixed to close .log file before showing MessageBox().
[TOMERGE 1.0]
+ Don't attempt to write into .log file if the _SET_HBOUTLOG
filename is empty.
; TOFIX: Remove all remaining MessageBox() calls from
Harbour sources.
2008-09-23 18:56 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* contrib/rddads/adsmgmnt.c
! Blind fix to ADSMGGETWORKERTHREADACTIVITY() where the

View File

@@ -95,7 +95,7 @@ LONG WINAPI hb_win32ExceptionHandler( struct _EXCEPTION_POINTERS * pExceptionInf
USHORT uiLine;
int iLevel;
FILE * hLog = hb_fopen( hb_setGetCPtr( HB_SET_HBOUTLOG ), "a+" );
FILE * hLog = *hb_setGetCPtr( HB_SET_HBOUTLOG ) ? hb_fopen( hb_setGetCPtr( HB_SET_HBOUTLOG ), "a+" ) : NULL;
if( hLog )
{
@@ -215,6 +215,12 @@ LONG WINAPI hb_win32ExceptionHandler( struct _EXCEPTION_POINTERS * pExceptionInf
ptr += strlen( ptr );
}
if( hLog )
{
fprintf( hLog, "------------------------------------------------------------------------\n");
fclose( hLog );
}
/* GUI */
{
LPTSTR lpStr = HB_TCHAR_CONVTO( msg );
@@ -222,18 +228,12 @@ LONG WINAPI hb_win32ExceptionHandler( struct _EXCEPTION_POINTERS * pExceptionInf
HB_TCHAR_FREE( lpStr );
}
if( hLog )
{
fprintf( hLog, "------------------------------------------------------------------------\n");
fclose( hLog );
}
return EXCEPTION_CONTINUE_SEARCH; /* EXCEPTION_EXECUTE_HANDLER; */
}
#elif defined(HB_OS_OS2)
static EXCEPTIONREGISTRATIONRECORD s_regRec; /* Exception Registration Record */
static EXCEPTIONREGISTRATIONRECORD s_regRec; /* Exception Registration Record */
ULONG _System hb_os2ExceptionHandler( PEXCEPTIONREPORTRECORD p1,
PEXCEPTIONREGISTRATIONRECORD p2,
@@ -260,7 +260,7 @@ ULONG _System hb_os2ExceptionHandler( PEXCEPTIONREPORTRECORD p1,
fprintf( stderr, HB_I_("Called from %s(%hu)%s%s\n"), buffer, uiLine, *file ? HB_I_(" in ") : "", file );
}
return XCPT_CONTINUE_SEARCH; /* Exception not resolved... */
return XCPT_CONTINUE_SEARCH; /* Exception not resolved... */
}
#elif defined( HB_SIGNAL_EXCEPTION_HANDLER )
@@ -268,38 +268,38 @@ ULONG _System hb_os2ExceptionHandler( PEXCEPTIONREPORTRECORD p1,
static void hb_signalExceptionHandler( int sig, siginfo_t * si, void * ucp )
{
char buffer[ 32 ];
const char *signame;
const char *sigaddr;
const char * signame;
const char * sigaddr;
HB_SYMBOL_UNUSED( ucp );
switch( sig )
{
case SIGSEGV:
signame = "SIGSEGV";
snprintf( buffer, sizeof( buffer ), "%p", si->si_addr );
sigaddr = buffer;
break;
case SIGILL:
signame = "SIGILL";
snprintf( buffer, sizeof( buffer ), "%p", si->si_addr );
sigaddr = buffer;
break;
case SIGFPE:
signame = "SIGFPE";
snprintf( buffer, sizeof( buffer ), "%p", si->si_addr );
sigaddr = buffer;
break;
case SIGBUS:
signame = "SIGBUS";
snprintf( buffer, sizeof( buffer ), "%p", si->si_addr );
sigaddr = buffer;
break;
default:
snprintf( buffer, sizeof( buffer ), "sig:%d", sig );
signame = buffer;
sigaddr = "UNKNOWN";
break;
case SIGSEGV:
signame = "SIGSEGV";
snprintf( buffer, sizeof( buffer ), "%p", si->si_addr );
sigaddr = buffer;
break;
case SIGILL:
signame = "SIGILL";
snprintf( buffer, sizeof( buffer ), "%p", si->si_addr );
sigaddr = buffer;
break;
case SIGFPE:
signame = "SIGFPE";
snprintf( buffer, sizeof( buffer ), "%p", si->si_addr );
sigaddr = buffer;
break;
case SIGBUS:
signame = "SIGBUS";
snprintf( buffer, sizeof( buffer ), "%p", si->si_addr );
sigaddr = buffer;
break;
default:
snprintf( buffer, sizeof( buffer ), "sig:%d", sig );
signame = buffer;
sigaddr = "UNKNOWN";
break;
}
hb_errInternal( 6005, "Exception %s at address %s", signame, sigaddr );