New itemapi.* installed; _item changed to hb_item

This commit is contained in:
Eddie Runia
1999-05-10 08:09:30 +00:00
parent 264348c996
commit 1bbe7f470a
5 changed files with 111 additions and 105 deletions

View File

@@ -1,3 +1,9 @@
19990510-09:10 Eddie Runia
* source/rtl/itemapi.c, include/itemapi.h
- new version installed
* source/tools/debug.c, source/rtl/classes.c
- _item changed to hb_item
19990510-08:32 Eddie Runia
* include/harbclip.h grabbed

View File

@@ -11,31 +11,31 @@ typedef struct
PITEM pItems[ 10 ];
} EVALINFO, * PEVALINFO;
PITEM _evalLaunch( PEVALINFO pEvalInfo );
BOOL _evalNew( PEVALINFO pEvalInfo, PITEM pItem );
BOOL _evalPutParam( PEVALINFO pEvalInfo, PITEM pItem );
BOOL _evalRelease( PEVALINFO pEvalInfo );
PITEM hb_evalLaunch( PEVALINFO pEvalInfo );
BOOL hb_evalNew( PEVALINFO pEvalInfo, PITEM pItem );
BOOL hb_evalPutParam( PEVALINFO pEvalInfo, PITEM pItem );
BOOL hb_evalRelease( PEVALINFO pEvalInfo );
PITEM _itemArrayGet( PITEM pArray, ULONG ulIndex );
PITEM _itemArrayNew( ULONG ulLen );
PITEM _itemArrayPut( PITEM pArray, ULONG ulIndex, PITEM pItem );
ULONG _itemCopyC( PITEM pItem, char *szBuffer, ULONG ulLen );
BOOL _itemFreeC( char *szText );
char * _itemGetC( PITEM pItem );
char *_itemGetDS( PITEM pItem, char *szDate );
BOOL _itemGetL( PITEM pItem );
double _itemGetND( PITEM pItem );
long _itemGetNL( PITEM pItem );
PITEM _itemNew( PITEM pNull );
PITEM _itemParam( WORD wParam );
PITEM _itemPutC( PITEM pItem, char *szText );
PITEM _itemPutCL( PITEM pItem, char *nszText, ULONG ulLen );
PITEM _itemPutDS( PITEM pItem, char *szDate );
PITEM _itemPutL( PITEM pItem, BOOL bValue );
PITEM _itemPutND( PITEM pItem, double dNumber );
PITEM _itemPutNL( PITEM pItem, long lNumber );
BOOL _itemRelease( PITEM pItem );
PITEM _itemReturn( PITEM pItem );
ULONG _itemSize( PITEM pItem );
WORD _itemType( PITEM pItem );
PITEM hb_itemArrayGet( PITEM pArray, ULONG ulIndex );
PITEM hb_itemArrayNew( ULONG ulLen );
PITEM hb_itemArrayPut( PITEM pArray, ULONG ulIndex, PITEM pItem );
ULONG hb_itemCopyC( PITEM pItem, char *szBuffer, ULONG ulLen );
BOOL hb_itemFreeC( char *szText );
char * hb_itemGetC( PITEM pItem );
char *hb_itemGetDS( PITEM pItem, char *szDate );
BOOL hb_itemGetL( PITEM pItem );
double hb_itemGetND( PITEM pItem );
long hb_itemGetNL( PITEM pItem );
PITEM hb_itemNew( PITEM pNull );
PITEM hb_itemParam( WORD wParam );
PITEM hb_itemPutC( PITEM pItem, char *szText );
PITEM hb_itemPutCL( PITEM pItem, char *nszText, ULONG ulLen );
PITEM hb_itemPutDS( PITEM pItem, char *szDate );
PITEM hb_itemPutL( PITEM pItem, BOOL bValue );
PITEM hb_itemPutND( PITEM pItem, double dNumber );
PITEM hb_itemPutNL( PITEM pItem, long lNumber );
BOOL hb_itemRelease( PITEM pItem );
PITEM hb_itemReturn( PITEM pItem );
ULONG hb_itemSize( PITEM pItem );
WORD hb_itemType( PITEM pItem );

View File

@@ -253,7 +253,7 @@ static HARBOUR ClassSel()
WORD wPos = 0;
PCLASS pClass;
PDYNSYM pMessage;
PITEM pReturn = _itemNew( NULL );
PITEM pReturn = hb_itemNew( NULL );
PITEM pItem;
PITEM pItemRef;
@@ -271,22 +271,22 @@ static HARBOUR ClassSel()
wLimit = pClass->wHashKey * BUCKET;
ItemRelease( pReturn );
_xfree( pReturn );
pReturn = _itemArrayNew( pClass->wMethods );
pReturn = hb_itemArrayNew( pClass->wMethods );
/* Create a transfer array */
for( wAt = 0; wAt < wLimit ; wAt++ )
{
pMessage = (PDYNSYM) pClass->pMethods[ wAt ].pMessage;
if( pMessage ) /* Hash Entry used ? */
{
pItem = _itemNew( NULL ); /* Add to array */
pItem = _itemPutC( pItem, pMessage->pSymbol->szName );
_itemArrayPut( pReturn, ++wPos, pItem );
pItem = hb_itemNew( NULL ); /* Add to array */
pItem = hb_itemPutC( pItem, pMessage->pSymbol->szName );
hb_itemArrayPut( pReturn, ++wPos, pItem );
ItemRelease( pItem );
_xfree( pItem );
}
}
}
_itemReturn( pReturn );
hb_itemReturn( pReturn );
ItemRelease( pReturn );
_xfree( pReturn );
}

View File

@@ -6,24 +6,33 @@
#include <itemapi.h>
#include <ctoharb.h>
/* TODO: Remove these when the extend system has been modified */
#define hb_xgrab _xgrab
#define hb_xfree _xfree
#define hb_param _param
extern STACK stack;
extern PSYMBOL symEval;
BOOL _evalNew( PEVALINFO pEvalInfo, PITEM pItem )
/* TODO: Someone make a dates.h so this isn't necessary! */
//long greg2julian( long lDay, long lMonth, long lYear );
//extern void julian2greg( long julian, long * plDay, long * plMonth, long * plYear );
BOOL hb_evalNew( PEVALINFO pEvalInfo, PITEM pItem )
{
BOOL bResult = FALSE;
if( pEvalInfo )
{
memset( pEvalInfo, 0, sizeof( EVALINFO ) );
pEvalInfo->pItems[ 0 ] = _itemNew( 0 );
pEvalInfo->pItems[ 0 ] = hb_itemNew( 0 );
ItemCopy( pEvalInfo->pItems[ 0 ], pItem );
bResult = TRUE;
}
return bResult;
}
BOOL _evalPutParam( PEVALINFO pEvalInfo, PITEM pItem )
BOOL hb_evalPutParam( PEVALINFO pEvalInfo, PITEM pItem )
{
BOOL bResult = FALSE;
WORD w;
@@ -34,7 +43,7 @@ BOOL _evalPutParam( PEVALINFO pEvalInfo, PITEM pItem )
{
if( ! pEvalInfo->pItems[ w ] )
{
pEvalInfo->pItems[ w ] = _itemNew( 0 );
pEvalInfo->pItems[ w ] = hb_itemNew( 0 );
ItemCopy( pEvalInfo->pItems[ w ], pItem );
bResult = TRUE;
break;
@@ -44,7 +53,7 @@ BOOL _evalPutParam( PEVALINFO pEvalInfo, PITEM pItem )
return bResult;
}
BOOL _evalRelease( PEVALINFO pEvalInfo )
BOOL hb_evalRelease( PEVALINFO pEvalInfo )
{
BOOL bResult = FALSE;
WORD w;
@@ -52,13 +61,13 @@ BOOL _evalRelease( PEVALINFO pEvalInfo )
if( pEvalInfo )
{
for( w = 0; w < 10; w++ )
_itemRelease( pEvalInfo->pItems[ w ] );
hb_itemRelease( pEvalInfo->pItems[ w ] );
bResult = TRUE;
}
return bResult;
}
PITEM _evalLaunch( PEVALINFO pEvalInfo )
PITEM hb_evalLaunch( PEVALINFO pEvalInfo )
{
WORD w = 1;
PITEM pResult = 0;
@@ -67,12 +76,12 @@ PITEM _evalLaunch( PEVALINFO pEvalInfo )
{
if( IS_STRING( pEvalInfo->pItems[ 0 ] ) )
{
PushSymbol( GetDynSym( _itemGetC( pEvalInfo->pItems[ 0 ] ) )->pSymbol );
PushSymbol( GetDynSym( hb_itemGetC( pEvalInfo->pItems[ 0 ] ) )->pSymbol );
PushNil();
while( w < 10 && pEvalInfo->pItems[ w ] )
Push( pEvalInfo->pItems[ w++ ] );
Do( w - 1 );
pResult = _itemNew( 0 );
pResult = hb_itemNew( 0 );
ItemCopy( pResult, &stack.Return );
}
else if( IS_BLOCK( pEvalInfo->pItems[ 0 ] ) )
@@ -82,16 +91,16 @@ PITEM _evalLaunch( PEVALINFO pEvalInfo )
while( w < 10 && pEvalInfo->pItems[ w ] )
Push( pEvalInfo->pItems[ w++ ] );
Do( w - 1 );
pResult = _itemNew( 0 );
pResult = hb_itemNew( 0 );
ItemCopy( pResult, &stack.Return );
}
}
return pResult;
}
PITEM _itemNew( PITEM pNull )
PITEM hb_itemNew( PITEM pNull )
{
PITEM pItem = ( PITEM ) _xgrab( sizeof( ITEM ) );
PITEM pItem = ( PITEM ) hb_xgrab( sizeof( ITEM ) );
if( pNull ) /* keep the C compiler silent */
pNull->wType = 0; /* keep the C compiler silent */
@@ -102,84 +111,84 @@ PITEM _itemNew( PITEM pNull )
return pItem;
}
PITEM _itemParam( WORD wParam )
PITEM hb_itemParam( WORD wParam )
{
PITEM pNew = _itemNew( 0 );
PITEM pNew = hb_itemNew( 0 );
if( _param( wParam, IT_ANY ) )
ItemCopy(pNew, _param( wParam, IT_ANY ));
if( hb_param( wParam, IT_ANY ) )
ItemCopy(pNew, hb_param( wParam, IT_ANY ));
return pNew;
}
BOOL _itemRelease( PITEM pItem )
BOOL hb_itemRelease( PITEM pItem )
{
BOOL bResult = FALSE;
if( pItem )
{
ItemRelease(pItem);
_xfree( pItem );
hb_xfree( pItem );
bResult = TRUE;
}
return bResult;
}
PITEM _itemArrayNew( ULONG ulLen )
PITEM hb_itemArrayNew( ULONG ulLen )
{
PITEM pItem = _itemNew(0);
PITEM pItem = hb_itemNew(0);
Array(pItem, ulLen);
return pItem;
}
PITEM _itemArrayGet( PITEM pArray, ULONG ulIndex )
PITEM hb_itemArrayGet( PITEM pArray, ULONG ulIndex )
{
PITEM pItem = _itemNew(0);
PITEM pItem = hb_itemNew(0);
ArrayGet(pArray, ulIndex, pItem);
return pItem;
}
PITEM _itemArrayPut( PITEM pArray, ULONG ulIndex, PITEM pItem )
PITEM hb_itemArrayPut( PITEM pArray, ULONG ulIndex, PITEM pItem )
{
ArraySet(pArray, ulIndex, pItem);
return pArray;
}
PITEM _itemPutC( PITEM pItem, char * szText )
PITEM hb_itemPutC( PITEM pItem, char * szText )
{
if( pItem )
ItemRelease( pItem ); /* warning: this is hvm.c one not this one */
else
pItem = _itemNew(0);
pItem = hb_itemNew(0);
pItem->wType = IT_STRING;
pItem->wLength = strlen( szText );
pItem->value.szText = ( char * ) _xgrab( pItem->wLength + 1 );
pItem->value.szText = ( char * ) hb_xgrab( pItem->wLength + 1 );
strcpy( pItem->value.szText, szText );
return pItem;
}
PITEM _itemPutCL( PITEM pItem, char * nszText, ULONG ulLen )
PITEM hb_itemPutCL( PITEM pItem, char * nszText, ULONG ulLen )
{
if( pItem )
ItemRelease( pItem ); /* warning: this is hvm.c one not this one */
else
pItem = _itemNew(0);
pItem = hb_itemNew(0);
pItem->wType = IT_STRING;
pItem->wLength = ulLen;
pItem->value.szText = ( char * ) _xgrab( ulLen + 1 );
pItem->value.szText = ( char * ) hb_xgrab( ulLen + 1 );
memcpy( pItem->value.szText, nszText, ulLen );
pItem->value.szText[ ulLen ] = 0;
return pItem;
}
char *_itemGetC( PITEM pItem )
char *hb_itemGetC( PITEM pItem )
{
if( pItem && IS_STRING( pItem ) )
{
@@ -193,7 +202,7 @@ char *_itemGetC( PITEM pItem )
return NULL;
}
ULONG _itemCopyC( PITEM pItem, char *szBuffer, ULONG ulLen )
ULONG hb_itemCopyC( PITEM pItem, char *szBuffer, ULONG ulLen )
{
if( pItem && IS_STRING(pItem) )
{
@@ -207,19 +216,19 @@ ULONG _itemCopyC( PITEM pItem, char *szBuffer, ULONG ulLen )
return 0;
}
BOOL _itemFreeC( char *szText )
BOOL hb_itemFreeC( char *szText )
{
BOOL bResult = FALSE;
if( szText )
{
_xfree(szText);
hb_xfree(szText);
bResult = TRUE;
}
return bResult;
}
char *_itemGetDS( PITEM pItem, char *szDate )
char *hb_itemGetDS( PITEM pItem, char *szDate )
{
if( pItem && IS_DATE(pItem) )
{
@@ -244,7 +253,7 @@ char *_itemGetDS( PITEM pItem, char *szDate )
return "00000000";
}
BOOL _itemGetL( PITEM pItem )
BOOL hb_itemGetL( PITEM pItem )
{
if( pItem && IS_LOGICAL(pItem) )
{
@@ -254,7 +263,7 @@ BOOL _itemGetL( PITEM pItem )
return FALSE;
}
double _itemGetND( PITEM pItem )
double hb_itemGetND( PITEM pItem )
{
if( pItem )
{
@@ -270,7 +279,7 @@ double _itemGetND( PITEM pItem )
return 0;
}
long _itemGetNL( PITEM pItem )
long hb_itemGetNL( PITEM pItem )
{
if( pItem )
{
@@ -286,7 +295,7 @@ long _itemGetNL( PITEM pItem )
return 0;
}
PITEM _itemReturn( PITEM pItem )
PITEM hb_itemReturn( PITEM pItem )
{
if( pItem )
ItemCopy(&stack.Return, pItem);
@@ -294,14 +303,14 @@ PITEM _itemReturn( PITEM pItem )
return pItem;
}
PITEM _itemPutDS( PITEM pItem, char *szDate )
PITEM hb_itemPutDS( PITEM pItem, char *szDate )
{
long lDay, lMonth, lYear;
if( pItem )
ItemRelease( pItem ); /* warning: this is hvm.c one not this one */
else
pItem = _itemNew(0);
pItem = hb_itemNew(0);
lDay = ((szDate[ 6 ] - '0') * 10) + (szDate[ 7 ] - '0');
lMonth = ((szDate[ 4 ] - '0') * 10) + (szDate[ 5 ] - '0');
@@ -319,12 +328,12 @@ PITEM _itemPutDS( PITEM pItem, char *szDate )
return pItem;
}
PITEM _itemPutL( PITEM pItem, BOOL bValue )
PITEM hb_itemPutL( PITEM pItem, BOOL bValue )
{
if( pItem )
ItemRelease( pItem ); /* warning: this is hvm.c one not this one */
else
pItem = _itemNew(0);
pItem = hb_itemNew(0);
pItem->wType = IT_LOGICAL;
pItem->wLength = 1;
@@ -332,12 +341,12 @@ PITEM _itemPutL( PITEM pItem, BOOL bValue )
return pItem;
}
PITEM _itemPutND( PITEM pItem, double dNumber )
PITEM hb_itemPutND( PITEM pItem, double dNumber )
{
if( pItem )
ItemRelease( pItem ); /* warning: this is hvm.c one not this one */
else
pItem = _itemNew(0);
pItem = hb_itemNew(0);
pItem->wType = IT_DOUBLE;
pItem->wLength = sizeof( double );
@@ -345,12 +354,12 @@ PITEM _itemPutND( PITEM pItem, double dNumber )
return pItem;
}
PITEM _itemPutNL( PITEM pItem, long lNumber )
PITEM hb_itemPutNL( PITEM pItem, long lNumber )
{
if( pItem )
ItemRelease( pItem ); /* warning: this is hvm.c one not this one */
else
pItem = _itemNew(0);
pItem = hb_itemNew(0);
pItem->wType = IT_DOUBLE;
pItem->wLength = sizeof( double );
@@ -358,28 +367,20 @@ PITEM _itemPutNL( PITEM pItem, long lNumber )
return pItem;
}
ULONG _itemSize( PITEM pItem )
ULONG hb_itemSize( PITEM pItem )
{
ULONG ulSize = 0;
if( pItem )
{
switch( pItem->wType )
{
case IT_ARRAY:
ulSize = ArrayLen( pItem );
break;
case IT_STRING:
ulSize = pItem->wLength;
break;
case IT_ARRAY: return ArrayLen(pItem);
case IT_STRING: return pItem->wLength;
}
}
return ulSize;
return 0;
}
WORD _itemType( PITEM pItem )
WORD hb_itemType( PITEM pItem )
{
return pItem->wType;
}

View File

@@ -14,7 +14,6 @@ extern ITEM aStatics;
PITEM ArrayClone( PITEM );
/* $Doc$
* $FuncName$ <aStat> __aStatic()
* $Description$ Return the statics array
@@ -23,7 +22,7 @@ PITEM ArrayClone( PITEM );
* $End$ */
HARBOUR __ASTATIC()
{
_itemReturn( &aStatics );
hb_itemReturn( &aStatics );
}
@@ -39,7 +38,7 @@ HARBOUR __STATIC()
wStatic = _parni(1);
pStatic = ( ( PBASEARRAY ) aStatics.value.pBaseArray )->pItems +
stack.iStatics + wStatic - 1;
_itemReturn( pStatic );
hb_itemReturn( pStatic );
}
@@ -53,19 +52,19 @@ void AddToArray( PITEM pItem, PITEM pReturn, WORD wPos )
if( pItem->wType == IT_SYMBOL)
{ /* Symbol is pushed as text */
pTemp = _itemNew(NULL); /* Create temporary string */
pTemp = hb_itemNew(NULL); /* Create temporary string */
pTemp->wType = IT_STRING;
pTemp->wLength = strlen( pItem->value.pSymbol->szName )+2;
pTemp->value.szText = (char *) _xgrab( pTemp->wLength+1 );
sprintf( pTemp->value.szText, "[%s]", pItem->value.pSymbol->szName );
_itemArrayPut( pReturn, wPos, pTemp );
hb_itemArrayPut( pReturn, wPos, pTemp );
ItemRelease( pTemp ); /* Get rid of temporary str.*/
_xfree( pTemp );
}
else /* Normal types */
_itemArrayPut( pReturn, wPos, pItem );
hb_itemArrayPut( pReturn, wPos, pItem );
}
@@ -73,7 +72,7 @@ void AddToArray( PITEM pItem, PITEM pReturn, WORD wPos )
* $FuncName$ <nVars> __GlobalStackLen()
* $Description$ Returns the length of the global stack
* $End$ */
WORD GlobalStackLen()
WORD GlobalStackLen( void )
{
PITEM pItem;
WORD nCount = 0;
@@ -99,10 +98,10 @@ HARBOUR __AGLOBALSTACK()
WORD wLen = GlobalStackLen();
WORD wPos = 1;
pReturn = _itemArrayNew( wLen ); /* Create a transfer array */
pReturn = hb_itemArrayNew( wLen ); /* Create a transfer array */
for( pItem = stack.pItems; pItem <= stack.pPos; pItem++ )
AddToArray( pItem, pReturn, wPos++ );
_itemReturn( pReturn );
hb_itemReturn( pReturn );
ItemRelease( pReturn );
_xfree( pReturn );
}
@@ -112,7 +111,7 @@ HARBOUR __AGLOBALSTACK()
* $FuncName$ <nVars> __StackLen()
* $Description$ Returns the length of the stack of the calling function
* $End$ */
WORD StackLen()
WORD StackLen( void )
{
PITEM pItem;
PITEM pBase = stack.pItems + stack.pBase->wBase;
@@ -148,10 +147,10 @@ HARBOUR __ASTACK()
WORD wLen = StackLen();
WORD wPos = 1;
pReturn = _itemArrayNew( wLen ); /* Create a transfer array */
pReturn = hb_itemArrayNew( wLen ); /* Create a transfer array */
for( pItem = pBase; pItem < stack.pBase; pItem++ )
AddToArray( pItem, pReturn, wPos++ );
_itemReturn( pReturn );
hb_itemReturn( pReturn );
ItemRelease( pReturn );
_xfree( pReturn );
}
@@ -173,10 +172,10 @@ HARBOUR __APARAM()
WORD wLen = pBase->wParams;
WORD wPos = 1;
pReturn = _itemArrayNew( wLen ); /* Create a transfer array */
pReturn = hb_itemArrayNew( wLen ); /* Create a transfer array */
for( pItem = pBase+2; wLen--; pItem++ )
AddToArray( pItem, pReturn, wPos++ );
_itemReturn( pReturn );
hb_itemReturn( pReturn );
ItemRelease( pReturn );
_xfree( pReturn );
}