From 659796ed288bfdbf542993971a1259188da8ce53 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Tue, 12 Oct 1999 14:15:42 +0000 Subject: [PATCH] 19991012-16:00 GMT+1 --- harbour/ChangeLog | 5 +++++ harbour/source/vm/hvm.c | 24 ++++++++++++++++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index b98f344487..a4ea09af61 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,8 @@ +19991012-16:00 GMT+1 Victor Szel + * source/vm/hvm.c + ! hb_vmAnd(), hb_vmOr() - Value substitution on error added to .AND. + and .OR. operators. (mentioned by Jose) + 19991012-14:00 GMT+1 Antonio Linares * source/rtl/dates.c + Added support for Windows requirements. diff --git a/harbour/source/vm/hvm.c b/harbour/source/vm/hvm.c index 499522a93c..b49d68c015 100644 --- a/harbour/source/vm/hvm.c +++ b/harbour/source/vm/hvm.c @@ -1817,7 +1817,17 @@ static void hb_vmAnd( void ) hb_vmPushLogical( bResult ); } else - hb_errRT_BASE( EG_ARG, 1078, NULL, ".AND." ); + { + PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1078, NULL, ".AND." ); + + if( pResult ) + { + hb_stackPop(); + hb_stackPop(); + hb_vmPush( pResult ); + hb_itemRelease( pResult ); + } + } } static void hb_vmOr( void ) @@ -1833,7 +1843,17 @@ static void hb_vmOr( void ) hb_vmPushLogical( bResult ); } else - hb_errRT_BASE( EG_ARG, 1079, NULL, ".OR." ); + { + PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1079, NULL, ".OR." ); + + if( pResult ) + { + hb_stackPop(); + hb_stackPop(); + hb_vmPush( pResult ); + hb_itemRelease( pResult ); + } + } } /* ------------------------------- */