diff --git a/harbour/source/compiler/harbour.y b/harbour/source/compiler/harbour.y index 744b97c77a..dff3a701ff 100644 --- a/harbour/source/compiler/harbour.y +++ b/harbour/source/compiler/harbour.y @@ -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 */ diff --git a/harbour/source/rtl/errorapi.c b/harbour/source/rtl/errorapi.c index 7808b4efe6..e53fc074a9 100644 --- a/harbour/source/rtl/errorapi.c +++ b/harbour/source/rtl/errorapi.c @@ -5,6 +5,15 @@ #include #include +#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 )