2010-06-19 12:46 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)

* src/vm/extend.c
  * include/hbapi.h
    * hb_*nsize() functions renamed to hb_*ns():
        hb_parns(), hb_retns(), hb_storns()
    + Added hb_parnsdef().
This commit is contained in:
Viktor Szakats
2010-06-19 10:46:53 +00:00
parent 6adb33b4c1
commit aed2388134
3 changed files with 43 additions and 11 deletions

View File

@@ -16,6 +16,13 @@
The license applies to all entries newer than 2009-04-28.
*/
2010-06-19 12:46 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/extend.c
* include/hbapi.h
* hb_*nsize() functions renamed to hb_*ns():
hb_parns(), hb_retns(), hb_storns()
+ Added hb_parnsdef().
2010-06-19 12:27 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/hb-func.sh
* bin/postinst.sh

View File

@@ -641,7 +641,8 @@ extern HB_EXPORT long hb_parnl( int iParam ); /* retrieve a numeric para
extern HB_EXPORT long hb_parnldef( int iParam, long lDefValue ); /* retrieve a numeric parameter as a long, return default value if parameter isn't numeric */
extern HB_EXPORT HB_MAXINT hb_parnint( int iParam ); /* retrieve a numeric parameter as a HB_MAXINT */
extern HB_EXPORT HB_MAXINT hb_parnintdef( int iParam, HB_MAXINT lDefValue ); /* retrieve a numeric parameter as a HB_MAXINT, return default value if parameter isn't numeric */
extern HB_EXPORT HB_SIZE hb_parnsize( int iParam ); /* retrieve a numeric parameter as a HB_SIZE */
extern HB_EXPORT HB_SIZE hb_parns( int iParam ); /* retrieve a numeric parameter as a HB_SIZE */
extern HB_EXPORT HB_SIZE hb_parnsdef( int iParam, HB_SIZE nDefValue ); /* retrieve a numeric parameter as a HB_SIZE, return default value if parameter isn't numeric */
extern HB_EXPORT void * hb_parptr( int iParam ); /* retrieve a parameter as a pointer */
extern HB_EXPORT void * hb_parptrGC( const HB_GC_FUNCS * pFuncs, int iParam ); /* retrieve a parameter as a pointer if it's a pointer to GC allocated block */
#ifndef HB_LONG_LONG_OFF
@@ -686,7 +687,7 @@ extern HB_EXPORT void hb_retnd( double dNumber ); /* returns a double */
extern HB_EXPORT void hb_retni( int iNumber ); /* returns a integer number */
extern HB_EXPORT void hb_retnl( long lNumber );/* returns a long number */
extern HB_EXPORT void hb_retnint( HB_MAXINT lNumber );/* returns a long number */
extern HB_EXPORT void hb_retnsize( HB_SIZE nNumber );/* returns a size */
extern HB_EXPORT void hb_retns( HB_SIZE nNumber );/* returns a size */
extern HB_EXPORT void hb_retnlen( double dNumber, int iWidth, int iDec ); /* returns a double, with specific width and decimals */
extern HB_EXPORT void hb_retndlen( double dNumber, int iWidth, int iDec ); /* returns a double, with specific width and decimals */
extern HB_EXPORT void hb_retnilen( int iNumber, int iWidth ); /* returns a integer number, with specific width */
@@ -730,7 +731,7 @@ extern HB_EXPORT void hb_retnlllen( HB_LONGLONG lNumber, int iWidth ); /* retu
#define hb_retnllen( lNumber, iWidth ) hb_itemPutNLLen( hb_stackReturnItem(), lNumber, iWidth )
#define hb_retnlllen( lNumber, iWidth ) hb_itemPutNLLLen( hb_stackReturnItem(), lNumber, iWidth )
#define hb_retnint( iNumber ) hb_itemPutNInt( hb_stackReturnItem(), iNumber )
#define hb_retnsize( nNumber ) hb_itemPutNSize( hb_stackReturnItem(), nNumber )
#define hb_retns( nNumber ) hb_itemPutNSize( hb_stackReturnItem(), nNumber )
#define hb_retnintlen( lNumber, iWidth ) hb_itemPutNIntLen( hb_stackReturnItem(), lNumber, iWidth )
#define hb_retptr( pointer ) hb_itemPutPtr( hb_stackReturnItem(), pointer )
#define hb_retptrGC( pointer ) hb_itemPutPtrGC( hb_stackReturnItem(), pointer )
@@ -751,7 +752,7 @@ extern HB_EXPORT int hb_storni( int iValue, int iParam ); /* stores an intege
extern HB_EXPORT int hb_stornl( long lValue, int iParam ); /* stores a long on a variable by reference */
extern HB_EXPORT int hb_stornd( double dValue, int iParam ); /* stores a double on a variable by reference */
extern HB_EXPORT int hb_stornint( HB_MAXINT lValue, int iParam ); /* stores a HB_MAXINT on a variable by reference */
extern HB_EXPORT int hb_stornsize( HB_SIZE nValue, int iParam ); /* stores a HB_SIZE on a variable by reference */
extern HB_EXPORT int hb_storns( HB_SIZE nValue, int iParam ); /* stores a HB_SIZE on a variable by reference */
extern HB_EXPORT int hb_storptr( void * pointer, int iParam ); /* stores a pointer on a variable by reference */
extern HB_EXPORT int hb_storptrGC( void * pointer, int iParam ); /* stores a pointer to GC block on a variable by reference */
#ifndef HB_LONG_LONG_OFF

View File

@@ -673,11 +673,11 @@ HB_MAXINT hb_parnintdef( int iParam, HB_MAXINT lDefValue )
return lDefValue;
}
HB_SIZE hb_parnsize( int iParam )
HB_SIZE hb_parns( int iParam )
{
HB_STACK_TLS_PRELOAD
HB_TRACE(HB_TR_DEBUG, ("hb_parnsize(%d)", iParam));
HB_TRACE(HB_TR_DEBUG, ("hb_parns(%d)", iParam));
if( iParam >= -1 && iParam <= hb_pcount() )
{
@@ -697,6 +697,30 @@ HB_SIZE hb_parnsize( int iParam )
return 0;
}
HB_SIZE hb_parnsdef( int iParam, HB_SIZE nDefValue )
{
HB_STACK_TLS_PRELOAD
HB_TRACE(HB_TR_DEBUG, ("hb_parnsdef(%d, %" HB_PFS "d)", iParam, nDefValue));
if( iParam >= -1 && iParam <= hb_pcount() )
{
PHB_ITEM pItem = ( iParam == -1 ) ? hb_stackReturnItem() : hb_stackItemFromBase( iParam );
if( HB_IS_BYREF( pItem ) )
pItem = hb_itemUnRef( pItem );
if( HB_IS_LONG( pItem ) )
return ( HB_SIZE ) pItem->item.asLong.value;
else if( HB_IS_INTEGER( pItem ) )
return ( HB_SIZE ) pItem->item.asInteger.value;
else if( HB_IS_DOUBLE( pItem ) )
return ( HB_SIZE ) pItem->item.asDouble.value;
}
return nDefValue;
}
void * hb_parptr( int iParam )
{
HB_STACK_TLS_PRELOAD
@@ -1540,12 +1564,12 @@ void hb_retnint( HB_MAXINT lNumber )
hb_itemPutNInt( hb_stackReturnItem(), lNumber );
}
#undef hb_retnsize
void hb_retnsize( HB_SIZE nNumber )
#undef hb_retns
void hb_retns( HB_SIZE nNumber )
{
HB_STACK_TLS_PRELOAD
HB_TRACE(HB_TR_DEBUG, ("hb_retnsize(%" HB_PFS "d )", nNumber));
HB_TRACE(HB_TR_DEBUG, ("hb_retns(%" HB_PFS "d )", nNumber));
hb_itemPutNInt( hb_stackReturnItem(), nNumber );
}
@@ -1961,11 +1985,11 @@ int hb_stornint( HB_MAXINT lValue, int iParam )
return 0;
}
int hb_stornsize( HB_SIZE nValue, int iParam )
int hb_storns( HB_SIZE nValue, int iParam )
{
HB_STACK_TLS_PRELOAD
HB_TRACE(HB_TR_DEBUG, ("hb_stornsize(%" HB_PFS "d, %d)", nValue, iParam));
HB_TRACE(HB_TR_DEBUG, ("hb_storns(%" HB_PFS "d, %d)", nValue, iParam));
if( iParam == -1 )
{