2007-10-05 23:44 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbsetup.h
* minor cleanup comment
* harbour/source/vm/hvm.c
* save/restore return value in extended references
This commit is contained in:
@@ -8,6 +8,12 @@
|
||||
2002-12-01 13:30 UTC+0100 Foo Bar <foo.bar@foobar.org>
|
||||
*/
|
||||
|
||||
2007-10-05 23:44 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/include/hbsetup.h
|
||||
* minor cleanup comment
|
||||
* harbour/source/vm/hvm.c
|
||||
* save/restore return value in extended references
|
||||
|
||||
2007-10-05 14:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/source/vm/dynsym.c
|
||||
* added some additional comments. I still do not know MSVC behavior
|
||||
|
||||
@@ -413,20 +413,23 @@
|
||||
*/
|
||||
|
||||
/* ***********************************************************************
|
||||
* Fix DJGPP in call to: toupper(), tolower(), is...()
|
||||
*
|
||||
*/
|
||||
#if defined(__DJGPP__)
|
||||
* some fixes in compiler header files
|
||||
*/
|
||||
|
||||
#if defined( __DJGPP__ )
|
||||
/* Fix DJGPP in call to: toupper(), tolower(), is...()
|
||||
*/
|
||||
#include "hbfixdj.h"
|
||||
|
||||
/* Substitute snprintf() by sprintf() for DJGPP <= 2.03.
|
||||
* This is a temporary hack, should implement a C99 snprintf() ourselves. */
|
||||
* This is a temporary hack, should implement a C99 snprintf() ourselves.
|
||||
*/
|
||||
#if ( __DJGPP__ < 2 || ( __DJGPP__ == 2 && __DJGPP_MINOR__ <= 3 ) )
|
||||
#define snprintf(s, len, args...) sprintf( (s), ##args )
|
||||
#endif
|
||||
#elif defined( _MSC_VER ) && !defined(__XCC__)
|
||||
#elif defined( _MSC_VER ) && !defined( __XCC__ )
|
||||
#define snprintf _snprintf
|
||||
#elif defined(__WATCOMC__)
|
||||
#elif defined( __WATCOMC__ )
|
||||
#if __WATCOMC__ < 1200
|
||||
#define snprintf _bprintf
|
||||
#endif
|
||||
|
||||
@@ -6769,6 +6769,7 @@ static PHB_ITEM hb_vmMsgRefRead( PHB_ITEM pRefer )
|
||||
|
||||
if( hb_vmRequestQuery() == 0 )
|
||||
{
|
||||
hb_stackPushReturn();
|
||||
if( !pMsgRef->access )
|
||||
pMsgRef->access = hb_dynsymGetCase( pMsgRef->assign->pSymbol->szName + 1 );
|
||||
hb_vmPushDynSym( pMsgRef->access );
|
||||
@@ -6776,6 +6777,7 @@ static PHB_ITEM hb_vmMsgRefRead( PHB_ITEM pRefer )
|
||||
hb_vmSend( 0 );
|
||||
hb_itemMove( &pMsgRef->value, hb_stackReturnItem() );
|
||||
pMsgRef->value.type |= HB_IT_DEFAULT;
|
||||
hb_stackPopReturn();
|
||||
}
|
||||
return &pMsgRef->value;
|
||||
}
|
||||
@@ -6786,12 +6788,14 @@ static PHB_ITEM hb_vmMsgRefWrite( PHB_ITEM pRefer, PHB_ITEM pSource )
|
||||
|
||||
if( hb_vmRequestQuery() == 0 )
|
||||
{
|
||||
hb_stackPushReturn();
|
||||
hb_vmPushDynSym( pMsgRef->assign );
|
||||
hb_vmPush( &pMsgRef->object );
|
||||
hb_vmPush( pSource );
|
||||
hb_vmSend( 1 );
|
||||
hb_itemCopy( &pMsgRef->value, pSource );
|
||||
pMsgRef->value.type |= HB_IT_DEFAULT;
|
||||
hb_stackPopReturn();
|
||||
}
|
||||
return NULL; /*&pMsgIdxRef->value;*/
|
||||
}
|
||||
@@ -6889,10 +6893,12 @@ static PHB_ITEM hb_vmMsgIdxRefRead( PHB_ITEM pRefer )
|
||||
|
||||
if( hb_vmRequestQuery() == 0 )
|
||||
{
|
||||
hb_stackPushReturn();
|
||||
hb_objOperatorCall( HB_OO_OP_ARRAYINDEX, &pMsgIdxRef->value,
|
||||
HB_IS_BYREF( &pMsgIdxRef->object ) ?
|
||||
hb_itemUnRef( &pMsgIdxRef->object ) :
|
||||
&pMsgIdxRef->object, &pMsgIdxRef->index, NULL );
|
||||
hb_stackPopReturn();
|
||||
pMsgIdxRef->value.type |= HB_IT_DEFAULT;
|
||||
}
|
||||
return &pMsgIdxRef->value;
|
||||
@@ -6907,8 +6913,10 @@ static PHB_ITEM hb_vmMsgIdxRefWrite( PHB_ITEM pRefer, PHB_ITEM pSource )
|
||||
PHB_ITEM pObject = HB_IS_BYREF( &pMsgIdxRef->object ) ?
|
||||
hb_itemUnRef( &pMsgIdxRef->object ) :
|
||||
&pMsgIdxRef->object;
|
||||
hb_stackPushReturn();
|
||||
hb_objOperatorCall( HB_OO_OP_ARRAYINDEX, pObject, pObject,
|
||||
&pMsgIdxRef->index, pSource );
|
||||
hb_stackPopReturn();
|
||||
pMsgIdxRef->value.type |= HB_IT_DEFAULT;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user