Improved errorapi

This commit is contained in:
Antonio Linares
1999-05-13 11:46:54 +00:00
parent 445b265edc
commit c86f92fd79
2 changed files with 84 additions and 2 deletions

View File

@@ -948,7 +948,7 @@ void EXTERNAL_LINKAGE close_on_exit( void )
}
}
int harbour_main( int argc, char * argv[] )
int main( int argc, char * argv[] )
{
int iStatus = 0, iArg = 1;
char szFileName[ _POSIX_PATH_MAX ]; /* filename to parse */

View File

@@ -5,6 +5,15 @@
#include <extend.h>
#include <ctoharb.h>
#define EF_CANRETRY 1
#define EF_CANDEFAULT 4
/* error codes ( returned from _errLaunch() ) */
#define E_BREAK 0xffff
#define E_RETRY 1
#define E_DEFAULT 0
extern ITEM errorBlock;
extern STACK stack;
extern SYMBOL symEval;
@@ -18,12 +27,85 @@ PITEM _errNew( void )
return &stack.Return;
}
void _errPutDescription( PITEM pError, char * szDescription )
PITEM _errPutDescription( PITEM pError, char * szDescription )
{
PushSymbol( GetDynSym( "_DESCRIPTION" )->pSymbol );
Push( pError );
PushString( szDescription, strlen( szDescription ) );
Do( 1 );
return pError;
}
PITEM _errPutFileName( PITEM pError, char * szFileName )
{
PushSymbol( GetDynSym( "_FILENAME" )->pSymbol );
Push( pError );
PushString( szFileName, strlen( szFileName ) );
Do( 1 );
return pError;
}
PITEM _errPutGenCode( PITEM pError, USHORT uiGenCode )
{
PushSymbol( GetDynSym( "_GENCODE" )->pSymbol );
Push( pError );
PushInteger( uiGenCode );
Do( 1 );
return pError;
}
PITEM _errPutOperation( PITEM pError, char * szOperation )
{
PushSymbol( GetDynSym( "_OPERATION" )->pSymbol );
Push( pError );
PushString( szOperation, strlen( szOperation ) );
Do( 1 );
return pError;
}
PITEM _errPutOsCode( PITEM pError, USHORT uiOsCode )
{
PushSymbol( GetDynSym( "_OSCODE" )->pSymbol );
Push( pError );
PushInteger( uiOsCode );
Do( 1 );
return pError;
}
PITEM _errPutSeverity( PITEM pError, USHORT uiSeverity )
{
PushSymbol( GetDynSym( "_SEVERITY" )->pSymbol );
Push( pError );
PushInteger( uiSeverity );
Do( 1 );
return pError;
}
PITEM _errPutSubCode( PITEM pError, USHORT uiSubCode )
{
PushSymbol( GetDynSym( "_SUBCODE" )->pSymbol );
Push( pError );
PushInteger( uiSubCode );
Do( 1 );
return pError;
}
PITEM _errPutSubSystem( PITEM pError, char * szSubSystem )
{
PushSymbol( GetDynSym( "_SUBSYSTEM" )->pSymbol );
Push( pError );
PushString( szSubSystem, strlen( szSubSystem ) );
Do( 1 );
return pError;
}
PITEM _errPutTries( PITEM pError, USHORT uiTries )
{
PushSymbol( GetDynSym( "_TRIES" )->pSymbol );
Push( pError );
PushInteger( uiTries );
Do( 1 );
return pError;
}
WORD _errLaunch( PITEM pError )