diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 3b84b13626..86f1330807 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,10 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-11-25 16:56 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + * harbour/src/vm/hvm.c + % minor improvement + 2009-11-25 11:11 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * config/os2/gcc.mk ! Fixed (after recent cleanup of CFLAGS usage) to add -Zomf diff --git a/harbour/src/vm/hvm.c b/harbour/src/vm/hvm.c index 167b51861f..71d30b7d7b 100644 --- a/harbour/src/vm/hvm.c +++ b/harbour/src/vm/hvm.c @@ -10725,22 +10725,23 @@ static void hb_vmArrayItemPush( ULONG ulIndex ) } else if( HB_IS_HASH( pArray ) ) { - PHB_ITEM pValue; + PHB_ITEM pValue, pIndex; hb_vmPushNumInt( ulIndex ); - pValue = hb_hashGetItemPtr( pArray, hb_stackItemFromTop( -1 ), HB_HASH_AUTOADD_ACCESS ); + pIndex = hb_stackItemFromTop( -1 ); + pValue = hb_hashGetItemPtr( pArray, pIndex, HB_HASH_AUTOADD_ACCESS ); if( pValue ) { - hb_itemCopy( hb_stackItemFromTop( -1 ), pValue ); - hb_itemMove( pArray, hb_stackItemFromTop( -1 ) ); + hb_itemCopy( pIndex, pValue ); + hb_itemMove( pArray, pIndex ); hb_stackDec(); } else if( hb_objOperatorCall( HB_OO_OP_ARRAYINDEX, pArray, pArray, - hb_stackItemFromTop( -1 ), NULL ) ) + pIndex, NULL ) ) hb_stackPop(); else - hb_errRT_BASE( EG_BOUND, 1132, NULL, hb_langDGetErrorDesc( EG_ARRACCESS ), 2, pArray, hb_stackItemFromTop( -1 ) ); + hb_errRT_BASE( EG_BOUND, 1132, NULL, hb_langDGetErrorDesc( EG_ARRACCESS ), 2, pArray, pIndex ); } else {