2010-06-22 05:38 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/estack.c
* src/vm/debug.c
* src/vm/hvm.c
* src/vm/pvalue.c
* src/vm/arrays.c
* src/vm/proc.c
* src/vm/memvars.c
* src/vm/eval.c
* src/vm/classes.c
* include/hbstack.h
* include/hbapi.h
+ Win64 support for HVM stack and other related internals.
(HB_ULONG -> HB_SIZE, HB_LONG -> HB_ISIZ, long -> HB_ISIZ)
+ Using size API in debug functions.
; TOFIX: These two warnings remain in HVM (not counting dlmalloc):
---
hvm.c(10695) : warning C4244: 'argument' : conversion from 'HB_MAXINT' to 'double', possible loss of data
macro.c(1315) : warning C4310: cast truncates constant value
---
* src/vm/eval.c
* HB_FORNEXT() loop value can now be 64-bit values (was 32).
* src/vm/runner.c
* Formatting.
This commit is contained in:
@@ -16,6 +16,33 @@
|
||||
The license applies to all entries newer than 2009-04-28.
|
||||
*/
|
||||
|
||||
2010-06-22 05:38 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* src/vm/estack.c
|
||||
* src/vm/debug.c
|
||||
* src/vm/hvm.c
|
||||
* src/vm/pvalue.c
|
||||
* src/vm/arrays.c
|
||||
* src/vm/proc.c
|
||||
* src/vm/memvars.c
|
||||
* src/vm/eval.c
|
||||
* src/vm/classes.c
|
||||
* include/hbstack.h
|
||||
* include/hbapi.h
|
||||
+ Win64 support for HVM stack and other related internals.
|
||||
(HB_ULONG -> HB_SIZE, HB_LONG -> HB_ISIZ, long -> HB_ISIZ)
|
||||
+ Using size API in debug functions.
|
||||
; TOFIX: These two warnings remain in HVM (not counting dlmalloc):
|
||||
---
|
||||
hvm.c(10695) : warning C4244: 'argument' : conversion from 'HB_MAXINT' to 'double', possible loss of data
|
||||
macro.c(1315) : warning C4310: cast truncates constant value
|
||||
---
|
||||
|
||||
* src/vm/eval.c
|
||||
* HB_FORNEXT() loop value can now be 64-bit values (was 32).
|
||||
|
||||
* src/vm/runner.c
|
||||
* Formatting.
|
||||
|
||||
2010-06-22 04:48 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* src/common/expropt1.c
|
||||
* src/compiler/genc.c
|
||||
|
||||
@@ -274,8 +274,8 @@ struct _HB_EXTREF;
|
||||
|
||||
typedef struct _HB_STACK_STATE
|
||||
{
|
||||
HB_LONG lBaseItem; /* stack base offset of previous func/proc */
|
||||
HB_ULONG ulPrivateBase; /* memvars base offset of previous func/proc */
|
||||
HB_ISIZ lBaseItem; /* stack base offset of previous func/proc */
|
||||
HB_SIZE ulPrivateBase; /* memvars base offset of previous func/proc */
|
||||
void * pStatics; /* statics frame of previous func/proc */
|
||||
HB_USHORT uiClass; /* class when message is sent */
|
||||
HB_USHORT uiMethod; /* number of class method */
|
||||
@@ -389,7 +389,7 @@ struct hb_struSymbol
|
||||
struct hb_struRecover
|
||||
{
|
||||
const HB_BYTE * recover; /* address of recover code */
|
||||
HB_ULONG base; /* previous recover base */
|
||||
HB_SIZE base; /* previous recover base */
|
||||
HB_USHORT flags; /* previous recovery state and recover type */
|
||||
HB_USHORT request; /* requested action */
|
||||
};
|
||||
@@ -1042,8 +1042,8 @@ extern HB_EXPORT void hb_memvarSetValue( PHB_SYMB pMemvarSymb, HB_ITEM_PTR
|
||||
extern HB_EXPORT HB_ERRCODE hb_memvarGet( HB_ITEM_PTR pItem, PHB_SYMB pMemvarSymb ); /* copy an symbol value into an item */
|
||||
extern void hb_memvarGetValue( HB_ITEM_PTR pItem, PHB_SYMB pMemvarSymb ); /* copy an symbol value into an item, with error trapping */
|
||||
extern void hb_memvarGetRefer( HB_ITEM_PTR pItem, PHB_SYMB pMemvarSymb ); /* copy a reference to a symbol value into an item, with error trapping */
|
||||
extern HB_ULONG hb_memvarGetPrivatesBase( void ); /* retrieve current PRIVATE variables stack base */
|
||||
extern void hb_memvarSetPrivatesBase( HB_ULONG ulBase ); /* release PRIVATE variables created after specified base */
|
||||
extern HB_SIZE hb_memvarGetPrivatesBase( void ); /* retrieve current PRIVATE variables stack base */
|
||||
extern void hb_memvarSetPrivatesBase( HB_SIZE ulBase ); /* release PRIVATE variables created after specified base */
|
||||
extern void hb_memvarUpdatePrivatesBase( void ); /* Update PRIVATE base ofsset so they will not be removed when function return */
|
||||
extern void hb_memvarNewParameter( PHB_SYMB pSymbol, PHB_ITEM pValue );
|
||||
extern char * hb_memvarGetStrValuePtr( char * szVarName, HB_SIZE * pulLen );
|
||||
|
||||
@@ -133,9 +133,9 @@ HB_PRIVATE_ITEM, * PHB_PRIVATE_ITEM;
|
||||
typedef struct
|
||||
{
|
||||
PHB_PRIVATE_ITEM stack;
|
||||
HB_ULONG size;
|
||||
HB_ULONG count;
|
||||
HB_ULONG base;
|
||||
HB_SIZE size;
|
||||
HB_SIZE count;
|
||||
HB_SIZE base;
|
||||
}
|
||||
HB_PRIVATE_STACK, * PHB_PRIVATE_STACK;
|
||||
|
||||
@@ -156,9 +156,9 @@ typedef struct
|
||||
PHB_ITEM * pItems; /* pointer to the stack items */
|
||||
PHB_ITEM * pBase; /* stack frame position for the current function call */
|
||||
HB_ITEM Return; /* latest returned value */
|
||||
HB_LONG wItems; /* total items that may be holded on the stack */
|
||||
HB_LONG lWithObject; /* stack offset to base current WITH OBJECT item */
|
||||
HB_LONG lRecoverBase; /* current SEQUENCE envelope offset or 0 if no SEQUENCE is active */
|
||||
HB_ISIZ wItems; /* total items that may be held on the stack */
|
||||
HB_ISIZ lWithObject; /* stack offset to base current WITH OBJECT item */
|
||||
HB_ISIZ lRecoverBase; /* current SEQUENCE envelope offset or 0 if no SEQUENCE is active */
|
||||
HB_USHORT uiActionRequest;/* request for some action - stop processing of opcodes */
|
||||
HB_USHORT uiQuitState; /* HVM is quiting */
|
||||
HB_STACK_STATE state; /* first (default) stack state frame */
|
||||
@@ -287,19 +287,19 @@ extern HB_EXPORT void hb_stackPop( void ); /* pops an item from th
|
||||
extern void hb_stackPush( void ); /* pushes an item on to the stack */
|
||||
extern void hb_stackPushReturn( void );
|
||||
extern void hb_stackPopReturn( void );
|
||||
extern void hb_stackRemove( HB_LONG lUntilPos );
|
||||
extern void hb_stackRemove( HB_ISIZ lUntilPos );
|
||||
|
||||
extern HB_LONG hb_stackTopOffset( void );
|
||||
extern HB_LONG hb_stackBaseOffset( void );
|
||||
extern HB_LONG hb_stackTotalItems( void );
|
||||
extern HB_ITEM_PTR hb_stackItem( long iItemPos );
|
||||
extern HB_ISIZ hb_stackTopOffset( void );
|
||||
extern HB_ISIZ hb_stackBaseOffset( void );
|
||||
extern HB_ISIZ hb_stackTotalItems( void );
|
||||
extern HB_ITEM_PTR hb_stackItem( HB_ISIZ iItemPos );
|
||||
extern char * hb_stackDateBuffer( void );
|
||||
|
||||
/* stack management functions */
|
||||
extern HB_EXPORT int hb_stackCallDepth( void );
|
||||
extern HB_EXPORT void hb_stackBaseProcInfo( char * szProcName, HB_USHORT * puiProcLine ); /* get current .prg function name and line number */
|
||||
|
||||
extern HB_LONG hb_stackBaseProcOffset( int iLevel );
|
||||
extern HB_ISIZ hb_stackBaseProcOffset( int iLevel );
|
||||
extern void hb_stackDispCall( void );
|
||||
extern void hb_stackFree( void ); /* releases all memory used by the stack */
|
||||
extern void hb_stackInit( void ); /* initializes the stack */
|
||||
@@ -319,7 +319,7 @@ extern PHB_STACKRDD hb_stackRDD( void );
|
||||
extern void ** hb_stackDebugInfo( void );
|
||||
|
||||
#ifdef _HB_API_INTERNAL_
|
||||
extern void hb_stackDecrease( HB_ULONG ulItems );
|
||||
extern void hb_stackDecrease( HB_SIZE ulItems );
|
||||
extern HB_ITEM_PTR hb_stackNewFrame( PHB_STACK_STATE pFrame, HB_USHORT uiParams );
|
||||
extern void hb_stackOldFrame( PHB_STACK_STATE pFrame );
|
||||
extern void hb_stackClearMemvarsBase( void );
|
||||
@@ -327,8 +327,8 @@ extern void hb_stackClearMemvarsBase( void );
|
||||
extern HB_ITEM_PTR hb_stackLocalVariable( int *piFromBase );
|
||||
extern PHB_ITEM ** hb_stackItemBasePtr( void );
|
||||
|
||||
extern HB_LONG hb_stackGetRecoverBase( void );
|
||||
extern void hb_stackSetRecoverBase( HB_LONG lBase );
|
||||
extern HB_ISIZ hb_stackGetRecoverBase( void );
|
||||
extern void hb_stackSetRecoverBase( HB_ISIZ lBase );
|
||||
extern HB_USHORT hb_stackGetActionRequest( void );
|
||||
extern void hb_stackSetActionRequest( HB_USHORT uiAction );
|
||||
|
||||
@@ -336,8 +336,8 @@ extern void hb_stackSetStaticsBase( void * pBase );
|
||||
extern void * hb_stackGetStaticsBase( void );
|
||||
|
||||
extern PHB_ITEM hb_stackWithObjectItem( void );
|
||||
extern HB_LONG hb_stackWithObjectOffset( void );
|
||||
extern void hb_stackWithObjectSetOffset( HB_LONG );
|
||||
extern HB_ISIZ hb_stackWithObjectOffset( void );
|
||||
extern void hb_stackWithObjectSetOffset( HB_ISIZ );
|
||||
|
||||
extern int * hb_stackKeyPolls( void );
|
||||
extern HB_BOOL * hb_stackDebugRequest( void );
|
||||
@@ -385,7 +385,7 @@ extern void hb_stackUpdateAllocator( void *, PHB_ALLOCUPDT_FUNC, int );
|
||||
/* #define hb_stackTotalItems( ) ( hb_stack.wItems ) */
|
||||
#define hb_stackBaseItem( ) ( * hb_stack.pBase )
|
||||
#define hb_stackSelfItem( ) ( * ( hb_stack.pBase + 1 ) )
|
||||
#define hb_stackItem( iItemPos ) ( * ( hb_stack.pItems + ( long ) ( iItemPos ) ) )
|
||||
#define hb_stackItem( iItemPos ) ( * ( hb_stack.pItems + ( HB_ISIZ ) ( iItemPos ) ) )
|
||||
#define hb_stackReturnItem( ) ( &hb_stack.Return )
|
||||
#define hb_stackDateBuffer( ) ( hb_stack.szDate )
|
||||
#define hb_stackItemBasePtr( ) ( &hb_stack.pItems )
|
||||
@@ -417,7 +417,7 @@ extern void hb_stackUpdateAllocator( void *, PHB_ALLOCUPDT_FUNC, int );
|
||||
#endif
|
||||
|
||||
#define hb_stackAllocItem( ) ( ( ++hb_stack.pPos == hb_stack.pEnd ? \
|
||||
hb_stackIncrease() : (void) 0 ), \
|
||||
hb_stackIncrease() : ( void ) 0 ), \
|
||||
* ( hb_stack.pPos - 1 ) )
|
||||
|
||||
#ifdef HB_STACK_SAFEMACROS
|
||||
|
||||
@@ -1567,7 +1567,7 @@ PHB_ITEM hb_arrayFromParams( int iLevel )
|
||||
HB_STACK_TLS_PRELOAD
|
||||
PHB_ITEM pArray;
|
||||
HB_USHORT uiPos, uiPCount;
|
||||
HB_LONG lBaseOffset;
|
||||
HB_ISIZ lBaseOffset;
|
||||
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_arrayFromParams(%d)", iLevel));
|
||||
|
||||
|
||||
@@ -1482,9 +1482,9 @@ const char * hb_objGetRealClsName( PHB_ITEM pObject, const char * szName )
|
||||
}
|
||||
|
||||
#if defined( HB_CLASSY_BLOCK_SCOPE )
|
||||
static HB_LONG hb_clsSenderOffset( void )
|
||||
static HB_ISIZ hb_clsSenderOffset( void )
|
||||
{
|
||||
HB_LONG lOffset = hb_stackBaseProcOffset( 1 );
|
||||
HB_ISIZ lOffset = hb_stackBaseProcOffset( 1 );
|
||||
|
||||
if( lOffset > 0 )
|
||||
{
|
||||
@@ -1510,7 +1510,7 @@ static HB_LONG hb_clsSenderOffset( void )
|
||||
#if 0
|
||||
static HB_USHORT hb_clsSenderClasss( void )
|
||||
{
|
||||
HB_LONG lOffset = hb_clsSenderOffset();
|
||||
HB_ISIZ lOffset = hb_clsSenderOffset();
|
||||
|
||||
if( lOffset > 0 )
|
||||
return hb_stackItem( lOffset )->item.asSymbol.stackstate->uiClass;
|
||||
@@ -1521,7 +1521,7 @@ static HB_USHORT hb_clsSenderClasss( void )
|
||||
|
||||
static HB_USHORT hb_clsSenderMethodClasss( void )
|
||||
{
|
||||
HB_LONG lOffset = hb_clsSenderOffset();
|
||||
HB_ISIZ lOffset = hb_clsSenderOffset();
|
||||
|
||||
if( lOffset > 0 )
|
||||
{
|
||||
@@ -1538,7 +1538,7 @@ static HB_USHORT hb_clsSenderMethodClasss( void )
|
||||
static PHB_SYMB hb_clsSenderSymbol( void )
|
||||
{
|
||||
PHB_SYMB pSym = NULL;
|
||||
HB_LONG lOffset = hb_clsSenderOffset();
|
||||
HB_ISIZ lOffset = hb_clsSenderOffset();
|
||||
|
||||
if( lOffset > 0 )
|
||||
{
|
||||
@@ -1559,7 +1559,7 @@ static PHB_SYMB hb_clsSenderSymbol( void )
|
||||
|
||||
static HB_USHORT hb_clsSenderObjectClasss( void )
|
||||
{
|
||||
HB_LONG lOffset = hb_clsSenderOffset();
|
||||
HB_ISIZ lOffset = hb_clsSenderOffset();
|
||||
|
||||
if( lOffset > 0 )
|
||||
{
|
||||
@@ -2421,7 +2421,7 @@ void hb_dbg_objSendMessage( int iProcLevel, PHB_ITEM pObject, PHB_ITEM pMessage,
|
||||
int iLevel = hb_stackCallDepth();
|
||||
if( iProcLevel < iLevel )
|
||||
{
|
||||
HB_LONG lOffset = hb_stackBaseProcOffset( iLevel - iProcLevel );
|
||||
HB_ISIZ lOffset = hb_stackBaseProcOffset( iLevel - iProcLevel );
|
||||
if( lOffset > 0 )
|
||||
{
|
||||
PHB_ITEM pItem = hb_stackItem( lOffset );
|
||||
@@ -4053,7 +4053,7 @@ HB_FUNC( __CLSPARENT )
|
||||
HB_FUNC( __SENDER )
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
HB_LONG lOffset = hb_stackBaseProcOffset( 2 );
|
||||
HB_ISIZ lOffset = hb_stackBaseProcOffset( 2 );
|
||||
|
||||
if( lOffset > 0 )
|
||||
{
|
||||
@@ -4087,7 +4087,7 @@ HB_FUNC( __CLSSYNCWAIT )
|
||||
HB_STACK_TLS_PRELOAD
|
||||
PHB_ITEM pMutex = NULL;
|
||||
HB_ULONG ulMilliSec = HB_THREAD_INFINITE_WAIT;
|
||||
HB_LONG lOffset = hb_stackBaseProcOffset( 2 );
|
||||
HB_ISIZ lOffset = hb_stackBaseProcOffset( 2 );
|
||||
|
||||
if( lOffset > 0 )
|
||||
{
|
||||
@@ -5082,7 +5082,7 @@ void hb_clsAssociate( HB_USHORT usClassH )
|
||||
*/
|
||||
const char * hb_clsRealMethodName( void )
|
||||
{
|
||||
HB_LONG lOffset = hb_stackBaseProcOffset( 1 );
|
||||
HB_ISIZ lOffset = hb_stackBaseProcOffset( 1 );
|
||||
const char * szName = NULL;
|
||||
|
||||
if( lOffset > 0 )
|
||||
|
||||
@@ -137,7 +137,7 @@ static void AddToArray( PHB_ITEM pItem, PHB_ITEM pReturn, HB_SIZE ulPos )
|
||||
* $End$ */
|
||||
HB_FUNC( __DBGVMSTKGCOUNT )
|
||||
{
|
||||
hb_retnl( hb_stackTopOffset() );
|
||||
hb_retns( hb_stackTopOffset() );
|
||||
}
|
||||
|
||||
/* $Doc$
|
||||
@@ -147,8 +147,8 @@ HB_FUNC( __DBGVMSTKGCOUNT )
|
||||
HB_FUNC( __DBGVMSTKGLIST )
|
||||
{
|
||||
PHB_ITEM pReturn;
|
||||
HB_LONG ulLen = hb_stackTopOffset();
|
||||
HB_LONG ulPos;
|
||||
HB_ISIZ ulLen = hb_stackTopOffset();
|
||||
HB_ISIZ ulPos;
|
||||
|
||||
pReturn = hb_itemArrayNew( ulLen ); /* Create a transfer array */
|
||||
|
||||
@@ -162,9 +162,9 @@ HB_FUNC( __DBGVMSTKGLIST )
|
||||
* $FuncName$ <nVars> hb_stackLen( <nProcLevel> )
|
||||
* $Description$ Returns params plus locals amount of the nProcLevel function
|
||||
* $End$ */
|
||||
static HB_LONG hb_stackLen( int iLevel )
|
||||
static HB_ISIZ hb_stackLen( int iLevel )
|
||||
{
|
||||
HB_LONG lBaseOffset, lPrevOffset, lLen;
|
||||
HB_ISIZ lBaseOffset, lPrevOffset, lLen;
|
||||
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_stackLen()"));
|
||||
|
||||
@@ -189,7 +189,7 @@ static HB_LONG hb_stackLen( int iLevel )
|
||||
* $End$ */
|
||||
HB_FUNC( __DBGVMSTKLCOUNT )
|
||||
{
|
||||
hb_retnl( hb_stackLen( hb_parni( 1 ) + 1 ) );
|
||||
hb_retns( hb_stackLen( hb_parni( 1 ) + 1 ) );
|
||||
}
|
||||
|
||||
/* $Doc$
|
||||
@@ -206,8 +206,8 @@ HB_FUNC( __DBGVMSTKLCOUNT )
|
||||
HB_FUNC( __DBGVMSTKLLIST )
|
||||
{
|
||||
PHB_ITEM pReturn;
|
||||
HB_LONG ulLen, ul;
|
||||
HB_LONG lBaseOffset, lPrevOffset;
|
||||
HB_ISIZ ulLen, ul;
|
||||
HB_ISIZ lBaseOffset, lPrevOffset;
|
||||
|
||||
lBaseOffset = hb_stackBaseOffset();
|
||||
lPrevOffset = hb_stackItem( lBaseOffset - 1 )->item.asSymbol.stackstate->lBaseItem;
|
||||
@@ -223,7 +223,7 @@ HB_FUNC( __DBGVMSTKLLIST )
|
||||
HB_FUNC( __DBGVMLOCALLIST )
|
||||
{
|
||||
PHB_ITEM pArray;
|
||||
HB_LONG lBaseOffset, lPrevOffset, lLen, l;
|
||||
HB_ISIZ lBaseOffset, lPrevOffset, lLen, l;
|
||||
int iLevel = hb_parni( 1 ) + 1;
|
||||
|
||||
lBaseOffset = hb_stackBaseOffset();
|
||||
@@ -259,7 +259,7 @@ HB_FUNC( __DBGVMPARLLIST )
|
||||
PHB_ITEM hb_dbg_vmVarLGet( int iLevel, int iLocal )
|
||||
{
|
||||
PHB_ITEM pLocal = NULL;
|
||||
HB_LONG lBaseOffset;
|
||||
HB_ISIZ lBaseOffset;
|
||||
|
||||
lBaseOffset = hb_stackBaseOffset();
|
||||
while( iLevel-- > 0 && lBaseOffset > 1 )
|
||||
@@ -309,7 +309,7 @@ HB_FUNC( __DBGVMVARLSET )
|
||||
{
|
||||
int iLevel = hb_parni( 1 ) + 1;
|
||||
int iLocal = hb_parni( 2 );
|
||||
HB_LONG lBaseOffset;
|
||||
HB_ISIZ lBaseOffset;
|
||||
PHB_ITEM pLocal;
|
||||
|
||||
lBaseOffset = hb_stackBaseOffset();
|
||||
|
||||
@@ -164,7 +164,7 @@ static HB_SYMB s_initSymbol = { "hb_stackInit", { HB_FS_STATIC }, { NULL }, NULL
|
||||
|
||||
static void hb_stack_init( PHB_STACK pStack )
|
||||
{
|
||||
HB_LONG i;
|
||||
HB_ISIZ i;
|
||||
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_stack_init(%p)", pStack));
|
||||
|
||||
@@ -216,7 +216,7 @@ static void hb_stack_destroy_TSD( PHB_STACK pStack )
|
||||
|
||||
static void hb_stack_free( PHB_STACK pStack )
|
||||
{
|
||||
HB_LONG i;
|
||||
HB_ISIZ i;
|
||||
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_stack_free(%p)", pStack));
|
||||
|
||||
@@ -290,7 +290,7 @@ void * hb_stackGetTSD( PHB_TSD pTSD )
|
||||
#else
|
||||
if( pTSD->iHandle == 0 )
|
||||
{
|
||||
HB_ULONG ulSize = ( hb_stack.iTSD + 2 ) * sizeof( HB_TSD_HOLDER );
|
||||
HB_SIZE ulSize = ( hb_stack.iTSD + 2 ) * sizeof( HB_TSD_HOLDER );
|
||||
if( hb_stack.iTSD == 0 )
|
||||
{
|
||||
hb_stack.pTSD = ( PHB_TSD_HOLDER ) hb_xgrab( ulSize );
|
||||
@@ -583,7 +583,7 @@ void hb_stackDec( void )
|
||||
}
|
||||
|
||||
#undef hb_stackDecrease
|
||||
void hb_stackDecrease( HB_ULONG ulItems )
|
||||
void hb_stackDecrease( HB_SIZE ulItems )
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
|
||||
@@ -635,9 +635,9 @@ void hb_stackPushReturn( void )
|
||||
void hb_stackIncrease( void )
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
HB_LONG BaseIndex; /* index of stack base */
|
||||
HB_LONG CurrIndex; /* index of current top item */
|
||||
HB_LONG EndIndex; /* index of current top item */
|
||||
HB_ISIZ BaseIndex; /* index of stack base */
|
||||
HB_ISIZ CurrIndex; /* index of current top item */
|
||||
HB_ISIZ EndIndex; /* index of current top item */
|
||||
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_stackIncrease()"));
|
||||
|
||||
@@ -663,7 +663,7 @@ void hb_stackIncrease( void )
|
||||
while( ++EndIndex < hb_stack.wItems );
|
||||
}
|
||||
|
||||
void hb_stackRemove( HB_LONG lUntilPos )
|
||||
void hb_stackRemove( HB_ISIZ lUntilPos )
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
HB_ITEM_PTR * pEnd = hb_stack.pItems + lUntilPos;
|
||||
@@ -827,7 +827,7 @@ void hb_stackOldFrame( PHB_STACK_STATE pFrame )
|
||||
}
|
||||
|
||||
#undef hb_stackItem
|
||||
HB_ITEM_PTR hb_stackItem( long iItemPos )
|
||||
HB_ITEM_PTR hb_stackItem( HB_ISIZ iItemPos )
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
if( iItemPos < 0 )
|
||||
@@ -907,7 +907,7 @@ HB_ITEM_PTR hb_stackReturnItem( void )
|
||||
}
|
||||
|
||||
#undef hb_stackTopOffset
|
||||
HB_LONG hb_stackTopOffset( void )
|
||||
HB_ISIZ hb_stackTopOffset( void )
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
|
||||
@@ -915,7 +915,7 @@ HB_LONG hb_stackTopOffset( void )
|
||||
}
|
||||
|
||||
#undef hb_stackBaseOffset
|
||||
HB_LONG hb_stackBaseOffset( void )
|
||||
HB_ISIZ hb_stackBaseOffset( void )
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
|
||||
@@ -923,7 +923,7 @@ HB_LONG hb_stackBaseOffset( void )
|
||||
}
|
||||
|
||||
#undef hb_stackTotalItems
|
||||
HB_LONG hb_stackTotalItems( void )
|
||||
HB_ISIZ hb_stackTotalItems( void )
|
||||
{
|
||||
#if defined( HB_MT_VM )
|
||||
if( hb_stack_ready() )
|
||||
@@ -1032,14 +1032,14 @@ void hb_stackSetStaticsBase( void * pBase )
|
||||
}
|
||||
|
||||
#undef hb_stackGetRecoverBase
|
||||
HB_LONG hb_stackGetRecoverBase( void )
|
||||
HB_ISIZ hb_stackGetRecoverBase( void )
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
return hb_stack.lRecoverBase;
|
||||
}
|
||||
|
||||
#undef hb_stackSetRecoverBase
|
||||
void hb_stackSetRecoverBase( HB_LONG lBase )
|
||||
void hb_stackSetRecoverBase( HB_ISIZ lBase )
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
hb_stack.lRecoverBase = lBase;
|
||||
@@ -1068,14 +1068,14 @@ PHB_ITEM hb_stackWithObjectItem( void )
|
||||
}
|
||||
|
||||
#undef hb_stackWithObjectOffset
|
||||
HB_LONG hb_stackWithObjectOffset( void )
|
||||
HB_ISIZ hb_stackWithObjectOffset( void )
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
return hb_stack.lWithObject;
|
||||
}
|
||||
|
||||
#undef hb_stackWithObjectSetOffset
|
||||
void hb_stackWithObjectSetOffset( HB_LONG lOffset )
|
||||
void hb_stackWithObjectSetOffset( HB_ISIZ lOffset )
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
hb_stack.lWithObject = lOffset;
|
||||
@@ -1149,7 +1149,7 @@ void hb_stackClearMemvarsBase( void )
|
||||
int hb_stackCallDepth( void )
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
HB_LONG lOffset = hb_stack.pBase - hb_stack.pItems;
|
||||
HB_ISIZ lOffset = hb_stack.pBase - hb_stack.pItems;
|
||||
int iLevel = 0;
|
||||
|
||||
while( lOffset > 0 )
|
||||
@@ -1161,10 +1161,10 @@ int hb_stackCallDepth( void )
|
||||
return iLevel;
|
||||
}
|
||||
|
||||
HB_LONG hb_stackBaseProcOffset( int iLevel )
|
||||
HB_ISIZ hb_stackBaseProcOffset( int iLevel )
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
HB_LONG lOffset = hb_stack.pBase - hb_stack.pItems;
|
||||
HB_ISIZ lOffset = hb_stack.pBase - hb_stack.pItems;
|
||||
|
||||
while( iLevel-- > 0 && lOffset > 0 )
|
||||
lOffset = ( * ( hb_stack.pItems + lOffset ) )->item.asSymbol.stackstate->lBaseItem;
|
||||
@@ -1255,7 +1255,7 @@ static void hb_stackIsMemvarRef( PHB_STACK pStack )
|
||||
{
|
||||
/* 1. Mark all hidden memvars (PRIVATEs and PUBLICs) */
|
||||
PHB_PRIVATE_STACK pPrivateStack = &pStack->privates;
|
||||
HB_ULONG ulCount = pPrivateStack->count;
|
||||
HB_SIZE ulCount = pPrivateStack->count;
|
||||
|
||||
while( ulCount )
|
||||
{
|
||||
@@ -1304,7 +1304,7 @@ static void hb_stackIsTsdRef( PHB_STACK pStack, PHB_TSD_FUNC pCleanFunc )
|
||||
void hb_stackIsStackRef( void * pStackId, PHB_TSD_FUNC pCleanFunc )
|
||||
{
|
||||
PHB_STACK pStack;
|
||||
long lCount;
|
||||
HB_ISIZ lCount;
|
||||
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_stackIsStackRef()"));
|
||||
|
||||
|
||||
@@ -350,42 +350,42 @@ void hb_evalBlock( PHB_ITEM pCodeBlock, ... )
|
||||
|
||||
HB_FUNC( HB_FORNEXT ) /* nStart, nEnd | bEnd, bCode, nStep */
|
||||
{
|
||||
HB_LONG lStart = hb_parnl( 1 ), lEnd;
|
||||
HB_MAXINT nStart = hb_parnint( 1 ), nEnd;
|
||||
PHB_ITEM pEndBlock = hb_param( 2, HB_IT_BLOCK );
|
||||
PHB_ITEM pCodeBlock = hb_param( 3, HB_IT_BLOCK );
|
||||
HB_LONG lStep = ( hb_pcount() > 3 ) ? hb_parnl( 4 ) : 1;
|
||||
HB_MAXINT nStep = ( hb_pcount() > 3 ) ? hb_parnint( 4 ) : 1;
|
||||
|
||||
if( pCodeBlock )
|
||||
{
|
||||
if( pEndBlock )
|
||||
{
|
||||
hb_evalBlock0( pEndBlock );
|
||||
lEnd = hb_parnl( -1 );
|
||||
nEnd = hb_parnint( -1 );
|
||||
|
||||
while( lStart <= lEnd )
|
||||
while( nStart <= nEnd )
|
||||
{
|
||||
hb_vmPushEvalSym();
|
||||
hb_vmPush( pCodeBlock );
|
||||
hb_vmPushLong( lStart );
|
||||
hb_vmPushNumInt( nStart );
|
||||
hb_vmSend( 1 );
|
||||
|
||||
lStart += lStep;
|
||||
nStart += nStep;
|
||||
|
||||
hb_evalBlock0( pEndBlock );
|
||||
lEnd = hb_parnl( -1 );
|
||||
nEnd = hb_parnint( -1 );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lEnd = hb_parnl( 2 );
|
||||
while( lStart <= lEnd )
|
||||
nEnd = hb_parnint( 2 );
|
||||
while( nStart <= nEnd )
|
||||
{
|
||||
hb_vmPushEvalSym();
|
||||
hb_vmPush( pCodeBlock );
|
||||
hb_vmPushLong( lStart );
|
||||
hb_vmPushNumInt( nStart );
|
||||
hb_vmSend( 1 );
|
||||
|
||||
lStart += lStep;
|
||||
nStart += nStep;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4438,7 +4438,7 @@ static void hb_vmSeqBlock( void )
|
||||
static HB_GARBAGE_FUNC( hb_withObjectDestructor )
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
HB_LONG * plWithObjectBase = ( HB_LONG * ) Cargo;
|
||||
HB_ISIZ * plWithObjectBase = ( HB_ISIZ * ) Cargo;
|
||||
hb_stackWithObjectSetOffset( * plWithObjectBase );
|
||||
}
|
||||
|
||||
@@ -4452,13 +4452,13 @@ static const HB_GC_FUNCS s_gcWithObjectFuncs =
|
||||
static void hb_vmWithObjectStart( void )
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
HB_LONG * plWithObjectBase;
|
||||
HB_ISIZ * plWithObjectBase;
|
||||
PHB_ITEM pItem;
|
||||
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_vmWithObjectStart()"));
|
||||
|
||||
pItem = hb_stackAllocItem();
|
||||
plWithObjectBase = ( HB_LONG * ) hb_gcAllocRaw( sizeof( HB_LONG ),
|
||||
plWithObjectBase = ( HB_ISIZ * ) hb_gcAllocRaw( sizeof( HB_ISIZ ),
|
||||
&s_gcWithObjectFuncs );
|
||||
* plWithObjectBase = hb_stackWithObjectOffset();
|
||||
pItem->type = HB_IT_POINTER;
|
||||
@@ -5527,7 +5527,7 @@ static HB_LONG hb_vmArgsJoin( HB_LONG lLevel, HB_USHORT uiArgSets )
|
||||
static void hb_vmMacroDo( HB_USHORT uiArgSets )
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
HB_LONG lArgs;
|
||||
HB_ISIZ lArgs;
|
||||
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_vmMacroDo(%hu)", uiArgSets));
|
||||
|
||||
@@ -5539,7 +5539,7 @@ static void hb_vmMacroDo( HB_USHORT uiArgSets )
|
||||
static void hb_vmMacroFunc( HB_USHORT uiArgSets )
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
HB_LONG lArgs;
|
||||
HB_ISIZ lArgs;
|
||||
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_vmMacroFunc(%hu)", uiArgSets));
|
||||
|
||||
@@ -5553,7 +5553,7 @@ static void hb_vmMacroFunc( HB_USHORT uiArgSets )
|
||||
static void hb_vmMacroSend( HB_USHORT uiArgSets )
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
HB_LONG lArgs;
|
||||
HB_ISIZ lArgs;
|
||||
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_vmMacroSend(%hu)", uiArgSets));
|
||||
|
||||
@@ -5567,7 +5567,7 @@ static void hb_vmMacroSend( HB_USHORT uiArgSets )
|
||||
static void hb_vmMacroArrayGen( HB_USHORT uiArgSets )
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
HB_LONG lArgs;
|
||||
HB_ISIZ lArgs;
|
||||
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_vmMacroArrayGen(%hu)", uiArgSets));
|
||||
|
||||
@@ -8541,7 +8541,7 @@ void hb_vmRequestEndProc( void )
|
||||
void hb_vmRequestBreak( PHB_ITEM pItem )
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
long lRecoverBase;
|
||||
HB_ISIZ lRecoverBase;
|
||||
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_vmRequestBreak(%p)", pItem));
|
||||
|
||||
@@ -11783,7 +11783,7 @@ HB_FUNC( __QUITCANCEL )
|
||||
if( !hb_stackQuitState() )
|
||||
#endif
|
||||
{
|
||||
long lRecoverBase = hb_stackGetRecoverBase();
|
||||
HB_ISIZ lRecoverBase = hb_stackGetRecoverBase();
|
||||
|
||||
if( lRecoverBase )
|
||||
{
|
||||
|
||||
@@ -96,7 +96,7 @@ struct mv_memvarArray_info
|
||||
{
|
||||
PHB_ITEM pArray;
|
||||
PHB_DYNS * pDyns;
|
||||
HB_ULONG ulCount;
|
||||
HB_SIZE ulCount;
|
||||
int iScope;
|
||||
};
|
||||
|
||||
@@ -238,7 +238,7 @@ static void hb_memvarAddPrivate( PHB_DYNS pDynSym, PHB_ITEM pValue )
|
||||
*/
|
||||
if( pMemvar )
|
||||
{
|
||||
HB_ULONG ulCount = pPrivateStack->count;
|
||||
HB_SIZE ulCount = pPrivateStack->count;
|
||||
while( ulCount > pPrivateStack->base )
|
||||
{
|
||||
if( pDynSym == pPrivateStack->stack[ ulCount - 1 ].pDynSym )
|
||||
@@ -291,10 +291,10 @@ static void hb_memvarAddPrivate( PHB_DYNS pDynSym, PHB_ITEM pValue )
|
||||
/*
|
||||
* This function returns current PRIVATE variables stack base
|
||||
*/
|
||||
HB_ULONG hb_memvarGetPrivatesBase( void )
|
||||
HB_SIZE hb_memvarGetPrivatesBase( void )
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
HB_ULONG ulBase;
|
||||
HB_SIZE ulBase;
|
||||
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_memvarGetPrivatesBase()"));
|
||||
|
||||
@@ -306,12 +306,12 @@ HB_ULONG hb_memvarGetPrivatesBase( void )
|
||||
/*
|
||||
* This function releases PRIVATE variables created after passed base
|
||||
*/
|
||||
void hb_memvarSetPrivatesBase( HB_ULONG ulBase )
|
||||
void hb_memvarSetPrivatesBase( HB_SIZE ulBase )
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
PHB_PRIVATE_STACK pPrivateStack;
|
||||
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_memvarSetPrivatesBase(%lu)", ulBase));
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_memvarSetPrivatesBase(%" HB_PFS "u)", ulBase));
|
||||
|
||||
pPrivateStack = hb_stackGetPrivateStack();
|
||||
|
||||
@@ -712,7 +712,7 @@ static void hb_memvarRelease( HB_ITEM_PTR pMemvar )
|
||||
if( pDynSymbol && hb_dynsymGetMemvar( pDynSymbol ) )
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
HB_ULONG ulBase = hb_stackGetPrivateStack()->count;
|
||||
HB_SIZE ulBase = hb_stackGetPrivateStack()->count;
|
||||
|
||||
/* Find the variable with a requested name that is currently visible
|
||||
* Start from the top of the stack.
|
||||
@@ -749,7 +749,7 @@ static void hb_memvarRelease( HB_ITEM_PTR pMemvar )
|
||||
static void hb_memvarReleaseWithMask( const char *szMask, HB_BOOL bInclude )
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
HB_ULONG ulBase, ulCount;
|
||||
HB_SIZE ulBase, ulCount;
|
||||
PHB_DYNS pDynVar;
|
||||
PHB_ITEM pMemvar;
|
||||
|
||||
@@ -784,7 +784,7 @@ static int hb_memvarScopeGet( PHB_DYNS pDynVar )
|
||||
else
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
HB_ULONG ulBase = hb_stackGetPrivateStack()->count; /* start from the top of the stack */
|
||||
HB_SIZE ulBase = hb_stackGetPrivateStack()->count; /* start from the top of the stack */
|
||||
|
||||
while( ulBase )
|
||||
{
|
||||
@@ -865,7 +865,7 @@ static HB_DYNS_FUNC( hb_memvarCountPublics )
|
||||
return HB_TRUE;
|
||||
}
|
||||
|
||||
static HB_ULONG hb_memvarGetBaseOffset( int iProcLevel )
|
||||
static HB_SIZE hb_memvarGetBaseOffset( int iProcLevel )
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
|
||||
@@ -874,7 +874,7 @@ static HB_ULONG hb_memvarGetBaseOffset( int iProcLevel )
|
||||
int iLevel = hb_stackCallDepth();
|
||||
if( iProcLevel < iLevel )
|
||||
{
|
||||
HB_LONG lOffset = hb_stackBaseProcOffset( iLevel - iProcLevel - 1 );
|
||||
HB_ISIZ lOffset = hb_stackBaseProcOffset( iLevel - iProcLevel - 1 );
|
||||
if( lOffset > 0 )
|
||||
return hb_stackItem( lOffset )->item.asSymbol.stackstate->ulPrivateBase;
|
||||
}
|
||||
@@ -885,7 +885,7 @@ static HB_ULONG hb_memvarGetBaseOffset( int iProcLevel )
|
||||
|
||||
/* Count the number of variables with given scope
|
||||
*/
|
||||
static int hb_memvarCount( int iScope, int iLevel )
|
||||
static HB_ISIZ hb_memvarCount( int iScope, int iLevel )
|
||||
{
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_memvarCount(%d,%d)", iScope, iLevel));
|
||||
|
||||
@@ -964,7 +964,7 @@ static HB_ITEM_PTR hb_memvarDebugVariable( int iScope, int iPos, const char ** p
|
||||
else
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
if( ( HB_ULONG ) iPos < hb_stackGetPrivateStack()->count )
|
||||
if( ( HB_SIZE ) iPos < hb_stackGetPrivateStack()->count )
|
||||
{
|
||||
HB_DYNS_PTR pDynSym = hb_stackGetPrivateStack()->stack[ iPos ].pDynSym;
|
||||
|
||||
@@ -1216,7 +1216,7 @@ HB_FUNC( __MVDBGINFO )
|
||||
int iCount = hb_pcount();
|
||||
|
||||
if( iCount == 1 || iCount == 2 ) /* request for a number of variables */
|
||||
hb_retni( hb_memvarCount( hb_parni( 1 ), hb_parni( 2 ) ) );
|
||||
hb_retns( hb_memvarCount( hb_parni( 1 ), hb_parni( 2 ) ) );
|
||||
|
||||
else if( iCount > 2 ) /* request for a value of variable */
|
||||
{
|
||||
@@ -1730,7 +1730,7 @@ HB_FUNC( __MVRESTORE )
|
||||
HB_FUNC( __MVSETBASE )
|
||||
{
|
||||
HB_STACK_TLS_PRELOAD
|
||||
long lOffset = hb_stackBaseProcOffset( 0 );
|
||||
HB_ISIZ lOffset = hb_stackBaseProcOffset( 0 );
|
||||
|
||||
if( lOffset > 0 )
|
||||
hb_stackItem( lOffset )->item.asSymbol.stackstate->ulPrivateBase =
|
||||
|
||||
@@ -89,7 +89,7 @@ HB_FUNC( PROCNAME )
|
||||
|
||||
HB_FUNC( PROCLINE )
|
||||
{
|
||||
long lOffset = hb_stackBaseProcOffset( hb_parni( 1 ) + 1 );
|
||||
HB_ISIZ lOffset = hb_stackBaseProcOffset( hb_parni( 1 ) + 1 );
|
||||
|
||||
if( lOffset > 0 )
|
||||
hb_retni( hb_stackItem( lOffset )->item.asSymbol.stackstate->uiLineNo );
|
||||
@@ -120,7 +120,7 @@ HB_FUNC( PROCFILE )
|
||||
}
|
||||
else
|
||||
{
|
||||
long lOffset = hb_stackBaseProcOffset( hb_parni( 1 ) + 1 );
|
||||
HB_ISIZ lOffset = hb_stackBaseProcOffset( hb_parni( 1 ) + 1 );
|
||||
|
||||
if( lOffset > 0 )
|
||||
{
|
||||
@@ -153,7 +153,7 @@ HB_FUNC( PROCFILE )
|
||||
#define HB_PROCBUF_LEN ( HB_SYMBOL_NAME_LEN + HB_SYMBOL_NAME_LEN + 4 )
|
||||
char * hb_procname( int iLevel, char * szName, HB_BOOL fMethodName )
|
||||
{
|
||||
long lOffset = hb_stackBaseProcOffset( iLevel );
|
||||
HB_ISIZ lOffset = hb_stackBaseProcOffset( iLevel );
|
||||
|
||||
szName[ 0 ] = '\0';
|
||||
if( lOffset > 0 )
|
||||
@@ -167,7 +167,7 @@ char * hb_procname( int iLevel, char * szName, HB_BOOL fMethodName )
|
||||
pBase->item.asSymbol.value == &hb_symEval &&
|
||||
pBase->item.asSymbol.stackstate->uiClass )
|
||||
{
|
||||
long lPrevOffset = hb_stackItem( lOffset )->item.asSymbol.stackstate->lBaseItem;
|
||||
HB_ISIZ lPrevOffset = hb_stackItem( lOffset )->item.asSymbol.stackstate->lBaseItem;
|
||||
|
||||
if( hb_stackItem( lPrevOffset )->item.asSymbol.stackstate->uiClass ==
|
||||
pBase->item.asSymbol.stackstate->uiClass &&
|
||||
@@ -223,7 +223,7 @@ char * hb_procname( int iLevel, char * szName, HB_BOOL fMethodName )
|
||||
*/
|
||||
HB_BOOL hb_procinfo( int iLevel, char * szName, HB_USHORT * puiLine, char * szFile )
|
||||
{
|
||||
long lOffset = hb_stackBaseProcOffset( iLevel );
|
||||
HB_ISIZ lOffset = hb_stackBaseProcOffset( iLevel );
|
||||
|
||||
if( lOffset > 0 )
|
||||
{
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
HB_FUNC( HB_PVALUE )
|
||||
{
|
||||
HB_LONG lOffset = hb_stackBaseItem()->item.asSymbol.stackstate->lBaseItem;
|
||||
HB_ISIZ lOffset = hb_stackBaseItem()->item.asSymbol.stackstate->lBaseItem;
|
||||
HB_USHORT uiParam = ( HB_USHORT ) hb_parni( 1 );
|
||||
|
||||
if( uiParam && uiParam <= hb_stackItem( lOffset )->item.asSymbol.paramcnt )
|
||||
|
||||
@@ -439,7 +439,7 @@ static PHRB_BODY hb_hrbLoad( const char * szHrbBody, HB_SIZE ulBodySize, HB_USHO
|
||||
memcpy( ( char * ) pDynFunc[ ul ].pCode, szHrbBody + ulBodyOffset, ulSize );
|
||||
ulBodyOffset += ulSize;
|
||||
|
||||
pDynFunc[ ul ].pCodeFunc = (PHB_PCODEFUNC) hb_xgrab( sizeof( HB_PCODEFUNC ) );
|
||||
pDynFunc[ ul ].pCodeFunc = ( PHB_PCODEFUNC ) hb_xgrab( sizeof( HB_PCODEFUNC ) );
|
||||
pDynFunc[ ul ].pCodeFunc->pCode = pDynFunc[ ul ].pCode;
|
||||
pDynFunc[ ul ].pCodeFunc->pSymbols = pSymRead;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user