From 18bcb4919497783e209fbbfc9dbd604534953ec8 Mon Sep 17 00:00:00 2001 From: Antonio Linares Date: Thu, 6 Dec 2001 22:24:36 +0000 Subject: [PATCH] New hb_evalBlock() function --- harbour/source/vm/eval.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/harbour/source/vm/eval.c b/harbour/source/vm/eval.c index aa6002b475..e8af3a33d5 100644 --- a/harbour/source/vm/eval.c +++ b/harbour/source/vm/eval.c @@ -322,3 +322,24 @@ void hb_evalBlock1( PHB_ITEM pCodeBlock, PHB_ITEM pParam ) hb_vmPush( pParam ); hb_vmFunction( 1 ); } + +/* same functionality but with a NULL terminated list of parameters */ +void hb_evalBlock( PHB_ITEM pCodeBlock, ... ) +{ + va_list args; + unsigned int uiParams = 0; + PHB_ITEM pParam; + + hb_vmPushSymbol( &hb_symEval ); + hb_vmPush( pCodeBlock ); + + va_start( args, pCodeBlock ); + while( ( pParam = va_arg( args, PHB_ITEM ) ) != NULL ) + { + hb_vmPush( pParam ); + uiParams++; + } + va_end( args ); + + hb_vmFunction( uiParams ); +} \ No newline at end of file