From 8a3b3dc3f2187b28e6c1c62d34423a052a32bffb Mon Sep 17 00:00:00 2001 From: Ron Pinkas Date: Fri, 8 Jun 2001 01:38:26 +0000 Subject: [PATCH] 2001-06-07 18:40 UTC-0800 Ron Pinkas * source/vm/hvm.c ! Fixed HB_P_MPOPFIELD was poping assgined value pre-maturely, causing "data type error" from RDD when replacing a field using macro. --- harbour/ChangeLog | 6 +++++- harbour/source/vm/hvm.c | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 945693b2e9..d4ece995a9 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,7 @@ +2001-06-07 18:40 UTC-0800 Ron Pinkas + * source/vm/hvm.c + ! Fixed HB_P_MPOPFIELD was poping assgined value pre-maturely, causing "data type error" from RDD when replacing a field using macro. + 2001-06-07 20:39 GMT+1 Patrick Mast * contrib/tprepro/tprepro.prg + Added TestPrePro tes test preprocessor output @@ -50,7 +54,7 @@ + __PP_INIT() added + __PP_FREE() added + __PPADDRULE() added - * __PPADDRULE( cString ) can be called to preprocess a directive + * __PPADDRULE( cString ) can be called to preprocess a directive ( #include, #command, etc. ) __PP_FREE() should be called if __PPADDRULE() or __PP_INIT() was used to free memory, allocated for pp tables. diff --git a/harbour/source/vm/hvm.c b/harbour/source/vm/hvm.c index 4ba9329d39..ba53101bf9 100644 --- a/harbour/source/vm/hvm.c +++ b/harbour/source/vm/hvm.c @@ -1265,8 +1265,8 @@ void hb_vmExecute( const BYTE * pCode, PHB_SYMB pSymbols ) /* Pops a value from the eval stack and uses it to set * a new value of the given field */ + hb_rddPutFieldValue( ( hb_stackItemFromTop(-1) ), ( *pDynSym )->pSymbol ); hb_stackDec(); - hb_rddPutFieldValue( ( hb_stackTopItem() ), ( *pDynSym )->pSymbol ); hb_itemClear( ( hb_stackTopItem() ) ); HB_TRACE(HB_TR_INFO, ("(hb_vmMPopField)")); w += sizeof( HB_DYNS_PTR ) + 1;