diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 435676b708..7e21b2f394 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,33 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-06-24 22:36 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * include/hbapi.h + * include/hbapiitm.h + * source/vm/itemapi.c + * source/vm/arrays.c + * source/vm/extend.c + ; Started addition of 'const' keywords where applicable. + * First pass: + extern HB_EXPORT const char * hb_parc( int iParam ); + extern HB_EXPORT const char * hb_parcx( int iParam ); + extern HB_EXPORT const char * hb_itemGetCPtr( PHB_ITEM pItem ); + extern HB_EXPORT const char * hb_arrayGetCPtr( PHB_ITEM pArray, ULONG ulIndex ); + ; NOTE: This modification will break code in most compilers, + especially in C++ mode. + As a next steps source code will have to be modified + according to this change. Be patient, don't report all + errors to the developers. You can join the code cleanup. + + * source/vm/dynsym.c + * source/vm/itemapi.c + * source/vm/arrays.c + * source/vm/memvars.c + * source/vm/extend.c + * source/vm/set.c + * source/vm/classes.c + * 'const's added to caller code. + 2009-06-24 20:37 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * source/vm/memvars.c - Deleted hb_fsCommit() as non CA-Cl*pper compatible. diff --git a/harbour/include/hbapi.h b/harbour/include/hbapi.h index eb28b69797..ef7adaf9f7 100644 --- a/harbour/include/hbapi.h +++ b/harbour/include/hbapi.h @@ -602,51 +602,51 @@ extern void hb_gcCollect( void ); /* checks if a single memory block can b extern void hb_gcCollectAll( BOOL fForce ); /* checks if all memory blocks can be released */ /* Extend API */ -extern HB_EXPORT ULONG hb_parinfo( int iParam ); /* Determine the param count or data type */ -extern HB_EXPORT ULONG hb_parinfa( int iParamNum, ULONG uiArrayIndex ); /* retrieve length or element type of an array parameter */ -extern HB_EXPORT PHB_ITEM hb_param( int iParam, long lMask ); /* retrieve a generic parameter */ -extern HB_EXPORT PHB_ITEM hb_paramError( int iParam ); /* Returns either the generic parameter or a NIL item if param not provided */ -extern HB_EXPORT BOOL hb_extIsArray( int iParam ); -extern HB_EXPORT BOOL hb_extIsObject( int iParam ); +extern HB_EXPORT ULONG hb_parinfo( int iParam ); /* Determine the param count or data type */ +extern HB_EXPORT ULONG hb_parinfa( int iParamNum, ULONG uiArrayIndex ); /* retrieve length or element type of an array parameter */ +extern HB_EXPORT PHB_ITEM hb_param( int iParam, long lMask ); /* retrieve a generic parameter */ +extern HB_EXPORT PHB_ITEM hb_paramError( int iParam ); /* Returns either the generic parameter or a NIL item if param not provided */ +extern HB_EXPORT BOOL hb_extIsArray( int iParam ); +extern HB_EXPORT BOOL hb_extIsObject( int iParam ); -extern HB_EXPORT char * hb_parc( int iParam ); /* retrieve a string parameter */ -extern HB_EXPORT char * hb_parcx( int iParam ); /* retrieve a string parameter */ -extern HB_EXPORT ULONG hb_parclen( int iParam ); /* retrieve a string parameter length */ -extern HB_EXPORT ULONG hb_parcsiz( int iParam ); /* retrieve a by-reference string parameter length, including terminator */ -extern HB_EXPORT char * hb_pards( int iParam ); /* retrieve a date as a string yyyymmdd */ -extern HB_EXPORT char * hb_pardsbuff( char * szDate, int iParam ); /* retrieve a date as a string yyyymmdd */ -extern HB_EXPORT LONG hb_pardl( int iParam ); /* retrieve a date as a LONG NUMBER */ -extern HB_EXPORT double hb_partd( int iParam ); /* retrieve a timestamp as a double number */ -extern HB_EXPORT BOOL hb_partdt( LONG * plJulian, LONG * plMilliSec , int iParam ); /* retrieve a timestamp as two long numbers */ -extern HB_EXPORT int hb_parl( int iParam ); /* retrieve a logical parameter as an int */ -extern HB_EXPORT double hb_parnd( int iParam ); /* retrieve a numeric parameter as a double */ -extern HB_EXPORT int hb_parni( int iParam ); /* retrieve a numeric parameter as a integer */ -extern HB_EXPORT long hb_parnl( int iParam ); /* retrieve a numeric parameter as a long */ -extern HB_EXPORT HB_LONG hb_parnint( int iParam ); /* retrieve a numeric parameter as a HB_LONG */ -extern HB_EXPORT void * hb_parptr( int iParam ); /* retrieve a parameter as a pointer */ -extern HB_EXPORT void * hb_parptrGC( HB_GARBAGE_FUNC_PTR pFunc, int iParam ); /* retrieve a parameter as a pointer if it's a pointer to GC allocated block */ +extern HB_EXPORT const char * hb_parc( int iParam ); /* retrieve a string parameter */ +extern HB_EXPORT const char * hb_parcx( int iParam ); /* retrieve a string parameter */ +extern HB_EXPORT ULONG hb_parclen( int iParam ); /* retrieve a string parameter length */ +extern HB_EXPORT ULONG hb_parcsiz( int iParam ); /* retrieve a by-reference string parameter length, including terminator */ +extern HB_EXPORT char * hb_pards( int iParam ); /* retrieve a date as a string yyyymmdd */ +extern HB_EXPORT char * hb_pardsbuff( char * szDate, int iParam ); /* retrieve a date as a string yyyymmdd */ +extern HB_EXPORT LONG hb_pardl( int iParam ); /* retrieve a date as a LONG NUMBER */ +extern HB_EXPORT double hb_partd( int iParam ); /* retrieve a timestamp as a double number */ +extern HB_EXPORT BOOL hb_partdt( LONG * plJulian, LONG * plMilliSec , int iParam ); /* retrieve a timestamp as two long numbers */ +extern HB_EXPORT int hb_parl( int iParam ); /* retrieve a logical parameter as an int */ +extern HB_EXPORT double hb_parnd( int iParam ); /* retrieve a numeric parameter as a double */ +extern HB_EXPORT int hb_parni( int iParam ); /* retrieve a numeric parameter as a integer */ +extern HB_EXPORT long hb_parnl( int iParam ); /* retrieve a numeric parameter as a long */ +extern HB_EXPORT HB_LONG hb_parnint( int iParam ); /* retrieve a numeric parameter as a HB_LONG */ +extern HB_EXPORT void * hb_parptr( int iParam ); /* retrieve a parameter as a pointer */ +extern HB_EXPORT void * hb_parptrGC( HB_GARBAGE_FUNC_PTR pFunc, int iParam ); /* retrieve a parameter as a pointer if it's a pointer to GC allocated block */ #ifndef HB_LONG_LONG_OFF -extern HB_EXPORT LONGLONG hb_parnll( int iParam ); /* retrieve a numeric parameter as a long long */ +extern HB_EXPORT LONGLONG hb_parnll( int iParam ); /* retrieve a numeric parameter as a long long */ #endif -extern HB_EXPORT char * hb_parvc( int iParam, ... ); /* retrieve a string parameter */ -extern HB_EXPORT char * hb_parvcx( int iParam, ... ); /* retrieve a string parameter */ -extern HB_EXPORT ULONG hb_parvclen( int iParam, ... ); /* retrieve a string parameter length */ -extern HB_EXPORT ULONG hb_parvcsiz( int iParam, ... ); /* retrieve a by-reference string parameter length, including terminator */ -extern HB_EXPORT char * hb_parvds( int iParam, ... ); /* retrieve a date as a string yyyymmdd */ -extern HB_EXPORT char * hb_parvdsbuff( char * szDate, int iParam, ... ); /* retrieve a date as a string yyyymmdd */ -extern HB_EXPORT LONG hb_parvdl( int iParam, ... ); /* retrieve a date as a LONG NUMBER */ -extern HB_EXPORT double hb_parvtd( int iParam, ... ); /* retrieve a timestamp as a double number */ -extern HB_EXPORT BOOL hb_parvtdt( LONG * plJulian, LONG * plMilliSec , int iParam, ... ); /* retrieve a timestamp as two long numbers */ -extern HB_EXPORT int hb_parvl( int iParam, ... ); /* retrieve a logical parameter as an int */ -extern HB_EXPORT double hb_parvnd( int iParam, ... ); /* retrieve a numeric parameter as a double */ -extern HB_EXPORT int hb_parvni( int iParam, ... ); /* retrieve a numeric parameter as a integer */ -extern HB_EXPORT long hb_parvnl( int iParam, ... ); /* retrieve a numeric parameter as a long */ -extern HB_EXPORT HB_LONG hb_parvnint( int iParam, ... ); /* retrieve a numeric parameter as a HB_LONG */ -extern HB_EXPORT void * hb_parvptr( int iParam, ... ); /* retrieve a parameter as a pointer */ -extern HB_EXPORT void * hb_parvptrGC( HB_GARBAGE_FUNC_PTR pFunc, int iParam, ... ); /* retrieve a parameter as a pointer if it's a pointer to GC allocated block */ +extern HB_EXPORT char * hb_parvc( int iParam, ... ); /* retrieve a string parameter */ +extern HB_EXPORT char * hb_parvcx( int iParam, ... ); /* retrieve a string parameter */ +extern HB_EXPORT ULONG hb_parvclen( int iParam, ... ); /* retrieve a string parameter length */ +extern HB_EXPORT ULONG hb_parvcsiz( int iParam, ... ); /* retrieve a by-reference string parameter length, including terminator */ +extern HB_EXPORT char * hb_parvds( int iParam, ... ); /* retrieve a date as a string yyyymmdd */ +extern HB_EXPORT char * hb_parvdsbuff( char * szDate, int iParam, ... ); /* retrieve a date as a string yyyymmdd */ +extern HB_EXPORT LONG hb_parvdl( int iParam, ... ); /* retrieve a date as a LONG NUMBER */ +extern HB_EXPORT double hb_parvtd( int iParam, ... ); /* retrieve a timestamp as a double number */ +extern HB_EXPORT BOOL hb_parvtdt( LONG * plJulian, LONG * plMilliSec , int iParam, ... ); /* retrieve a timestamp as two long numbers */ +extern HB_EXPORT int hb_parvl( int iParam, ... ); /* retrieve a logical parameter as an int */ +extern HB_EXPORT double hb_parvnd( int iParam, ... ); /* retrieve a numeric parameter as a double */ +extern HB_EXPORT int hb_parvni( int iParam, ... ); /* retrieve a numeric parameter as a integer */ +extern HB_EXPORT long hb_parvnl( int iParam, ... ); /* retrieve a numeric parameter as a long */ +extern HB_EXPORT HB_LONG hb_parvnint( int iParam, ... ); /* retrieve a numeric parameter as a HB_LONG */ +extern HB_EXPORT void * hb_parvptr( int iParam, ... ); /* retrieve a parameter as a pointer */ +extern HB_EXPORT void * hb_parvptrGC( HB_GARBAGE_FUNC_PTR pFunc, int iParam, ... ); /* retrieve a parameter as a pointer if it's a pointer to GC allocated block */ #ifndef HB_LONG_LONG_OFF -extern HB_EXPORT LONGLONG hb_parvnll( int iParam, ... ); /* retrieve a numeric parameter as a long long */ +extern HB_EXPORT LONGLONG hb_parvnll( int iParam, ... ); /* retrieve a numeric parameter as a long long */ #endif extern HB_EXPORT int hb_pcount( void ); /* returns the number of suplied parameters */ @@ -761,70 +761,70 @@ extern HB_EXPORT int hb_storvnll( LONGLONG lValue, int iParam, ... ); /* stor #endif /* array management */ -extern HB_EXPORT BOOL hb_arrayNew( PHB_ITEM pItem, ULONG ulLen ); /* creates a new array */ -extern HB_EXPORT ULONG hb_arrayLen( PHB_ITEM pArray ); /* retrieves the array len */ -extern HB_EXPORT BOOL hb_arrayIsObject( PHB_ITEM pArray ); /* retrieves if the array is an object */ -extern HB_EXPORT void * hb_arrayId( PHB_ITEM pArray ); /* retrieves the array unique ID */ -extern HB_EXPORT BOOL hb_arrayAdd( PHB_ITEM pArray, PHB_ITEM pItemValue ); /* add a new item to the end of an array item */ -extern HB_EXPORT BOOL hb_arrayAddForward( PHB_ITEM pArray, PHB_ITEM pValue ); /* add a new item to the end of an array item with no incrementing of reference counters */ -extern HB_EXPORT BOOL hb_arrayIns( PHB_ITEM pArray, ULONG ulIndex ); /* insert a nil item into an array, without changing the length */ -extern HB_EXPORT BOOL hb_arrayDel( PHB_ITEM pArray, ULONG ulIndex ); /* delete an array item, without changing length */ -extern HB_EXPORT BOOL hb_arraySize( PHB_ITEM pArray, ULONG ulLen ); /* sets the array total length */ -extern HB_EXPORT BOOL hb_arrayLast( PHB_ITEM pArray, PHB_ITEM pResult ); /* retrieve last item in an array */ -extern HB_EXPORT BOOL hb_arrayGet( PHB_ITEM pArray, ULONG ulIndex, PHB_ITEM pItem ); /* retrieves an item */ -extern HB_EXPORT BOOL hb_arrayGetItemRef( PHB_ITEM pArray, ULONG ulIndex, PHB_ITEM pItem ); /* create a reference to an array element */ +extern HB_EXPORT BOOL hb_arrayNew( PHB_ITEM pItem, ULONG ulLen ); /* creates a new array */ +extern HB_EXPORT ULONG hb_arrayLen( PHB_ITEM pArray ); /* retrieves the array len */ +extern HB_EXPORT BOOL hb_arrayIsObject( PHB_ITEM pArray ); /* retrieves if the array is an object */ +extern HB_EXPORT void * hb_arrayId( PHB_ITEM pArray ); /* retrieves the array unique ID */ +extern HB_EXPORT BOOL hb_arrayAdd( PHB_ITEM pArray, PHB_ITEM pItemValue ); /* add a new item to the end of an array item */ +extern HB_EXPORT BOOL hb_arrayAddForward( PHB_ITEM pArray, PHB_ITEM pValue ); /* add a new item to the end of an array item with no incrementing of reference counters */ +extern HB_EXPORT BOOL hb_arrayIns( PHB_ITEM pArray, ULONG ulIndex ); /* insert a nil item into an array, without changing the length */ +extern HB_EXPORT BOOL hb_arrayDel( PHB_ITEM pArray, ULONG ulIndex ); /* delete an array item, without changing length */ +extern HB_EXPORT BOOL hb_arraySize( PHB_ITEM pArray, ULONG ulLen ); /* sets the array total length */ +extern HB_EXPORT BOOL hb_arrayLast( PHB_ITEM pArray, PHB_ITEM pResult ); /* retrieve last item in an array */ +extern HB_EXPORT BOOL hb_arrayGet( PHB_ITEM pArray, ULONG ulIndex, PHB_ITEM pItem ); /* retrieves an item */ +extern HB_EXPORT BOOL hb_arrayGetItemRef( PHB_ITEM pArray, ULONG ulIndex, PHB_ITEM pItem ); /* create a reference to an array element */ /* hb_arrayGetItemPtr() is dangerous, be sure that base ARRAY value will not be changed (f.e. resized) */ -extern HB_EXPORT PHB_ITEM hb_arrayGetItemPtr( PHB_ITEM pArray, ULONG ulIndex ); /* returns pointer to specified element of the array */ -extern HB_EXPORT ULONG hb_arrayCopyC( PHB_ITEM pArray, ULONG ulIndex, char * szBuffer, ULONG ulLen ); /* copy a string into an array item */ -extern HB_EXPORT char * hb_arrayGetC( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the string contained on an array element */ -extern HB_EXPORT char * hb_arrayGetCPtr( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the string pointer on an array element */ -extern HB_EXPORT ULONG hb_arrayGetCLen( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the string length contained on an array element */ -extern HB_EXPORT void * hb_arrayGetPtr( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the pointer contained on an array element */ -extern HB_EXPORT void * hb_arrayGetPtrGC( PHB_ITEM pArray, ULONG ulIndex, HB_GARBAGE_FUNC_PTR pFunc ); /* retrieves the GC pointer contained on an array element */ -extern HB_EXPORT PHB_SYMB hb_arrayGetSymbol( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves symbol contained on an array element */ -extern HB_EXPORT BOOL hb_arrayGetL( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the logical value contained on an array element */ -extern HB_EXPORT int hb_arrayGetNI( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the int value contained on an array element */ -extern HB_EXPORT long hb_arrayGetNL( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the long numeric value contained on an array element */ -extern HB_EXPORT HB_LONG hb_arrayGetNInt( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the HB_LONG value contained on an array element */ -extern HB_EXPORT double hb_arrayGetND( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the double value contained on an array element */ -extern HB_EXPORT char * hb_arrayGetDS( PHB_ITEM pArray, ULONG ulIndex, char * szDate ); /* retrieves the date value contained in an array element */ -extern HB_EXPORT long hb_arrayGetDL( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the date value contained in an array element, as a long integer */ -extern HB_EXPORT double hb_arrayGetTD( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the timestamp value contained in an array element, as a double value */ -extern HB_EXPORT BOOL hb_arrayGetTDT( PHB_ITEM pArray, ULONG ulIndex, LONG * plJulian, LONG * plMilliSec ); /* retrieves the timestamp value contained in an array element, as two long values */ -extern HB_EXPORT HB_TYPE hb_arrayGetType( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the type of an array item */ -extern HB_EXPORT BOOL hb_arraySet( PHB_ITEM pArray, ULONG ulIndex, PHB_ITEM pItem ); /* sets an array element */ -extern HB_EXPORT BOOL hb_arraySetForward( PHB_ITEM pArray, ULONG ulIndex, PHB_ITEM pItem ); /* sets an array element by forwarding it's value */ -extern HB_EXPORT BOOL hb_arraySetDS( PHB_ITEM pArray, ULONG ulIndex, const char * szDate ); -extern HB_EXPORT BOOL hb_arraySetDL( PHB_ITEM pArray, ULONG ulIndex, LONG lDate ); -extern HB_EXPORT BOOL hb_arraySetTD( PHB_ITEM pArray, ULONG ulIndex, double dTimeStamp ); -extern HB_EXPORT BOOL hb_arraySetTDT( PHB_ITEM pArray, ULONG ulIndex, LONG lJulian, LONG lMilliSec ); -extern HB_EXPORT BOOL hb_arraySetL( PHB_ITEM pArray, ULONG ulIndex, BOOL fValue ); -extern HB_EXPORT BOOL hb_arraySetNI( PHB_ITEM pArray, ULONG ulIndex, int iNumber ); -extern HB_EXPORT BOOL hb_arraySetNL( PHB_ITEM pArray, ULONG ulIndex, LONG lNumber ); +extern HB_EXPORT PHB_ITEM hb_arrayGetItemPtr( PHB_ITEM pArray, ULONG ulIndex ); /* returns pointer to specified element of the array */ +extern HB_EXPORT ULONG hb_arrayCopyC( PHB_ITEM pArray, ULONG ulIndex, char * szBuffer, ULONG ulLen ); /* copy a string into an array item */ +extern HB_EXPORT char * hb_arrayGetC( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the string contained on an array element */ +extern HB_EXPORT const char * hb_arrayGetCPtr( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the string pointer on an array element */ +extern HB_EXPORT ULONG hb_arrayGetCLen( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the string length contained on an array element */ +extern HB_EXPORT void * hb_arrayGetPtr( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the pointer contained on an array element */ +extern HB_EXPORT void * hb_arrayGetPtrGC( PHB_ITEM pArray, ULONG ulIndex, HB_GARBAGE_FUNC_PTR pFunc ); /* retrieves the GC pointer contained on an array element */ +extern HB_EXPORT PHB_SYMB hb_arrayGetSymbol( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves symbol contained on an array element */ +extern HB_EXPORT BOOL hb_arrayGetL( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the logical value contained on an array element */ +extern HB_EXPORT int hb_arrayGetNI( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the int value contained on an array element */ +extern HB_EXPORT long hb_arrayGetNL( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the long numeric value contained on an array element */ +extern HB_EXPORT HB_LONG hb_arrayGetNInt( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the HB_LONG value contained on an array element */ +extern HB_EXPORT double hb_arrayGetND( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the double value contained on an array element */ +extern HB_EXPORT char * hb_arrayGetDS( PHB_ITEM pArray, ULONG ulIndex, char * szDate ); /* retrieves the date value contained in an array element */ +extern HB_EXPORT long hb_arrayGetDL( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the date value contained in an array element, as a long integer */ +extern HB_EXPORT double hb_arrayGetTD( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the timestamp value contained in an array element, as a double value */ +extern HB_EXPORT BOOL hb_arrayGetTDT( PHB_ITEM pArray, ULONG ulIndex, LONG * plJulian, LONG * plMilliSec ); /* retrieves the timestamp value contained in an array element, as two long values */ +extern HB_EXPORT HB_TYPE hb_arrayGetType( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the type of an array item */ +extern HB_EXPORT BOOL hb_arraySet( PHB_ITEM pArray, ULONG ulIndex, PHB_ITEM pItem ); /* sets an array element */ +extern HB_EXPORT BOOL hb_arraySetForward( PHB_ITEM pArray, ULONG ulIndex, PHB_ITEM pItem ); /* sets an array element by forwarding it's value */ +extern HB_EXPORT BOOL hb_arraySetDS( PHB_ITEM pArray, ULONG ulIndex, const char * szDate ); +extern HB_EXPORT BOOL hb_arraySetDL( PHB_ITEM pArray, ULONG ulIndex, LONG lDate ); +extern HB_EXPORT BOOL hb_arraySetTD( PHB_ITEM pArray, ULONG ulIndex, double dTimeStamp ); +extern HB_EXPORT BOOL hb_arraySetTDT( PHB_ITEM pArray, ULONG ulIndex, LONG lJulian, LONG lMilliSec ); +extern HB_EXPORT BOOL hb_arraySetL( PHB_ITEM pArray, ULONG ulIndex, BOOL fValue ); +extern HB_EXPORT BOOL hb_arraySetNI( PHB_ITEM pArray, ULONG ulIndex, int iNumber ); +extern HB_EXPORT BOOL hb_arraySetNL( PHB_ITEM pArray, ULONG ulIndex, LONG lNumber ); #ifndef HB_LONG_LONG_OFF -extern HB_EXPORT BOOL hb_arraySetNLL( PHB_ITEM pArray, ULONG ulIndex, LONGLONG llNumber ); +extern HB_EXPORT BOOL hb_arraySetNLL( PHB_ITEM pArray, ULONG ulIndex, LONGLONG llNumber ); #endif -extern HB_EXPORT BOOL hb_arraySetNInt( PHB_ITEM pArray, ULONG ulIndex, HB_LONG lNumber ); -extern HB_EXPORT BOOL hb_arraySetND( PHB_ITEM pArray, ULONG ulIndex, double dNumber ); -extern HB_EXPORT BOOL hb_arraySetC( PHB_ITEM pArray, ULONG ulIndex, const char * szText ); -extern HB_EXPORT BOOL hb_arraySetCL( PHB_ITEM pArray, ULONG ulIndex, const char * szText, ULONG ulLen ); -extern HB_EXPORT BOOL hb_arraySetCPtr( PHB_ITEM pArray, ULONG ulIndex, char * szText, ULONG ulLen ); -extern HB_EXPORT BOOL hb_arraySetPtr( PHB_ITEM pArray, ULONG ulIndex, void * pValue ); -extern HB_EXPORT BOOL hb_arraySetPtrGC( PHB_ITEM pArray, ULONG ulIndex, void * pValue ); -extern HB_EXPORT BOOL hb_arraySetSymbol( PHB_ITEM pArray, ULONG ulIndex, PHB_SYMB pSymbol ); -extern HB_EXPORT BOOL hb_arrayFill( PHB_ITEM pArray, PHB_ITEM pValue, ULONG * pulStart, ULONG * pulCount ); /* fill an array with a given item */ -extern HB_EXPORT ULONG hb_arrayScan( PHB_ITEM pArray, PHB_ITEM pValue, ULONG * pulStart, ULONG * pulCount, BOOL fExact ); /* scan an array for a given item, or until code-block item returns TRUE */ -extern HB_EXPORT ULONG hb_arrayRevScan( PHB_ITEM pArray, PHB_ITEM pValue, ULONG * pulStart, ULONG * pulCount, BOOL fExact ); /* scan an array for a given item, or until code-block item returns TRUE in reverted order */ -extern HB_EXPORT BOOL hb_arrayEval( PHB_ITEM pArray, PHB_ITEM bBlock, ULONG * pulStart, ULONG * pulCount ); /* execute a code-block for every element of an array item */ -extern HB_EXPORT BOOL hb_arrayCopy( PHB_ITEM pSrcArray, PHB_ITEM pDstArray, ULONG * pulStart, ULONG * pulCount, ULONG * pulTarget ); /* copy items from one array to another */ -extern HB_EXPORT PHB_ITEM hb_arrayClone( PHB_ITEM pArray ); /* returns a duplicate of an existing array, including all nested items */ -extern HB_EXPORT BOOL hb_arraySort( PHB_ITEM pArray, ULONG * pulStart, ULONG * pulCount, PHB_ITEM pBlock ); /* sorts an array item */ -extern HB_EXPORT PHB_ITEM hb_arrayFromStack( USHORT uiLen ); /* Creates and returns an Array of n Elements from the Eval Stack - Does NOT pop the items. */ -extern HB_EXPORT PHB_ITEM hb_arrayFromParams( int iLevel ); /* Creates and returns an Array of Generic Parameters for a given call level */ -extern HB_EXPORT PHB_ITEM hb_arrayBaseParams( void ); /* Creates and returns an Array of Generic Parameters for current base symbol. */ -extern HB_EXPORT PHB_ITEM hb_arraySelfParams( void ); /* Creates and returns an Array of Generic Parameters for current base symbol with self item */ +extern HB_EXPORT BOOL hb_arraySetNInt( PHB_ITEM pArray, ULONG ulIndex, HB_LONG lNumber ); +extern HB_EXPORT BOOL hb_arraySetND( PHB_ITEM pArray, ULONG ulIndex, double dNumber ); +extern HB_EXPORT BOOL hb_arraySetC( PHB_ITEM pArray, ULONG ulIndex, const char * szText ); +extern HB_EXPORT BOOL hb_arraySetCL( PHB_ITEM pArray, ULONG ulIndex, const char * szText, ULONG ulLen ); +extern HB_EXPORT BOOL hb_arraySetCPtr( PHB_ITEM pArray, ULONG ulIndex, char * szText, ULONG ulLen ); +extern HB_EXPORT BOOL hb_arraySetPtr( PHB_ITEM pArray, ULONG ulIndex, void * pValue ); +extern HB_EXPORT BOOL hb_arraySetPtrGC( PHB_ITEM pArray, ULONG ulIndex, void * pValue ); +extern HB_EXPORT BOOL hb_arraySetSymbol( PHB_ITEM pArray, ULONG ulIndex, PHB_SYMB pSymbol ); +extern HB_EXPORT BOOL hb_arrayFill( PHB_ITEM pArray, PHB_ITEM pValue, ULONG * pulStart, ULONG * pulCount ); /* fill an array with a given item */ +extern HB_EXPORT ULONG hb_arrayScan( PHB_ITEM pArray, PHB_ITEM pValue, ULONG * pulStart, ULONG * pulCount, BOOL fExact ); /* scan an array for a given item, or until code-block item returns TRUE */ +extern HB_EXPORT ULONG hb_arrayRevScan( PHB_ITEM pArray, PHB_ITEM pValue, ULONG * pulStart, ULONG * pulCount, BOOL fExact ); /* scan an array for a given item, or until code-block item returns TRUE in reverted order */ +extern HB_EXPORT BOOL hb_arrayEval( PHB_ITEM pArray, PHB_ITEM bBlock, ULONG * pulStart, ULONG * pulCount ); /* execute a code-block for every element of an array item */ +extern HB_EXPORT BOOL hb_arrayCopy( PHB_ITEM pSrcArray, PHB_ITEM pDstArray, ULONG * pulStart, ULONG * pulCount, ULONG * pulTarget ); /* copy items from one array to another */ +extern HB_EXPORT PHB_ITEM hb_arrayClone( PHB_ITEM pArray ); /* returns a duplicate of an existing array, including all nested items */ +extern HB_EXPORT BOOL hb_arraySort( PHB_ITEM pArray, ULONG * pulStart, ULONG * pulCount, PHB_ITEM pBlock ); /* sorts an array item */ +extern HB_EXPORT PHB_ITEM hb_arrayFromStack( USHORT uiLen ); /* Creates and returns an Array of n Elements from the Eval Stack - Does NOT pop the items. */ +extern HB_EXPORT PHB_ITEM hb_arrayFromParams( int iLevel ); /* Creates and returns an Array of Generic Parameters for a given call level */ +extern HB_EXPORT PHB_ITEM hb_arrayBaseParams( void ); /* Creates and returns an Array of Generic Parameters for current base symbol. */ +extern HB_EXPORT PHB_ITEM hb_arraySelfParams( void ); /* Creates and returns an Array of Generic Parameters for current base symbol with self item */ #ifndef HB_LONG_LONG_OFF -extern HB_EXPORT LONGLONG hb_arrayGetNLL( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the long long numeric value contained on an array element */ +extern HB_EXPORT LONGLONG hb_arrayGetNLL( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the long long numeric value contained on an array element */ #endif #ifdef _HB_API_INTERNAL_ /* internal array API not exported */ diff --git a/harbour/include/hbapiitm.h b/harbour/include/hbapiitm.h index 8e6085e71b..c2f86b4a15 100644 --- a/harbour/include/hbapiitm.h +++ b/harbour/include/hbapiitm.h @@ -65,121 +65,121 @@ typedef struct PHB_ITEM pItems[ HB_EVAL_PARAM_MAX_ + 1 ]; } HB_EVALINFO, * PHB_EVALINFO; -extern HB_EXPORT PHB_ITEM hb_evalLaunch ( PHB_EVALINFO pEvalInfo ); -extern HB_EXPORT BOOL hb_evalNew ( PHB_EVALINFO pEvalInfo, PHB_ITEM pItem ); -extern HB_EXPORT BOOL hb_evalPutParam ( PHB_EVALINFO pEvalInfo, PHB_ITEM pItem ); -extern HB_EXPORT BOOL hb_evalRelease ( PHB_EVALINFO pEvalInfo ); +extern HB_EXPORT PHB_ITEM hb_evalLaunch ( PHB_EVALINFO pEvalInfo ); +extern HB_EXPORT BOOL hb_evalNew ( PHB_EVALINFO pEvalInfo, PHB_ITEM pItem ); +extern HB_EXPORT BOOL hb_evalPutParam ( PHB_EVALINFO pEvalInfo, PHB_ITEM pItem ); +extern HB_EXPORT BOOL hb_evalRelease ( PHB_EVALINFO pEvalInfo ); -extern HB_EXPORT void hb_evalBlock( PHB_ITEM pCodeBlock, ... ); -extern HB_EXPORT void hb_evalBlock0( PHB_ITEM pCodeBlock ); -extern HB_EXPORT void hb_evalBlock1( PHB_ITEM pCodeBlock, PHB_ITEM pParam ); +extern HB_EXPORT void hb_evalBlock( PHB_ITEM pCodeBlock, ... ); +extern HB_EXPORT void hb_evalBlock0( PHB_ITEM pCodeBlock ); +extern HB_EXPORT void hb_evalBlock1( PHB_ITEM pCodeBlock, PHB_ITEM pParam ); -extern HB_EXPORT BOOL hb_execFromArray ( PHB_ITEM pParam ); +extern HB_EXPORT BOOL hb_execFromArray ( PHB_ITEM pParam ); -extern HB_EXPORT PHB_ITEM hb_itemDo ( PHB_ITEM pItem, ULONG ulPCount, ... ); -extern HB_EXPORT PHB_ITEM hb_itemDoC ( const char * szFunc, ULONG ulPCount, ... ); +extern HB_EXPORT PHB_ITEM hb_itemDo ( PHB_ITEM pItem, ULONG ulPCount, ... ); +extern HB_EXPORT PHB_ITEM hb_itemDoC ( const char * szFunc, ULONG ulPCount, ... ); -extern HB_EXPORT PHB_ITEM hb_itemArrayGet ( PHB_ITEM pArray, ULONG ulIndex ); -extern HB_EXPORT PHB_ITEM hb_itemArrayNew ( ULONG ulLen ); -extern HB_EXPORT PHB_ITEM hb_itemArrayPut ( PHB_ITEM pArray, ULONG ulIndex, PHB_ITEM pItem ); -extern HB_EXPORT ULONG hb_itemCopyC ( PHB_ITEM pItem, char * szBuffer, ULONG ulLen ); -extern HB_EXPORT BOOL hb_itemFreeC ( char * szText ); -extern HB_EXPORT char * hb_itemGetC ( PHB_ITEM pItem ); -extern HB_EXPORT char * hb_itemGetCPtr ( PHB_ITEM pItem ); -extern HB_EXPORT ULONG hb_itemGetCLen ( PHB_ITEM pItem ); -extern HB_EXPORT char * hb_itemGetDS ( PHB_ITEM pItem, char * szDate ); -extern HB_EXPORT char * hb_itemGetTS ( PHB_ITEM pItem, char * szDateTime ); -extern HB_EXPORT long hb_itemGetDL ( PHB_ITEM pItem ); -extern HB_EXPORT double hb_itemGetTD ( PHB_ITEM pItem ); -extern HB_EXPORT BOOL hb_itemGetTDT ( PHB_ITEM pItem, LONG * plJulian, LONG * plMilliSec ); -extern HB_EXPORT BOOL hb_itemGetL ( PHB_ITEM pItem ); -extern HB_EXPORT double hb_itemGetND ( PHB_ITEM pItem ); -extern HB_EXPORT double hb_itemGetNDDec ( PHB_ITEM pItem, int * piDec ); -extern HB_EXPORT int hb_itemGetNI ( PHB_ITEM pItem ); -extern HB_EXPORT long hb_itemGetNL ( PHB_ITEM pItem ); -extern HB_EXPORT HB_LONG hb_itemGetNInt ( PHB_ITEM pItem ); -extern HB_EXPORT void hb_itemGetNLen ( PHB_ITEM pItem, int * piWidth, int * piDec ); -extern HB_EXPORT void * hb_itemGetPtr ( PHB_ITEM pItem ); -extern HB_EXPORT void * hb_itemGetPtrGC ( PHB_ITEM pItem, HB_GARBAGE_FUNC_PTR pFunc ); -extern HB_EXPORT PHB_SYMB hb_itemGetSymbol ( PHB_ITEM pItem ); -extern HB_EXPORT PHB_ITEM hb_itemNew ( PHB_ITEM pNull ); -extern HB_EXPORT void hb_itemInit ( PHB_ITEM pItem ); -extern HB_EXPORT USHORT hb_itemPCount ( void ); -extern HB_EXPORT PHB_ITEM hb_itemParam ( USHORT uiParam ); -extern HB_EXPORT PHB_ITEM hb_itemPutC ( PHB_ITEM pItem, const char * szText ); -extern HB_EXPORT PHB_ITEM hb_itemPutCL ( PHB_ITEM pItem, const char * szText, ULONG ulLen ); -extern HB_EXPORT PHB_ITEM hb_itemPutCConst ( PHB_ITEM pItem, const char * szText ); -extern HB_EXPORT PHB_ITEM hb_itemPutCLConst( PHB_ITEM pItem, const char * szText, ULONG ulLen ); -extern HB_EXPORT PHB_ITEM hb_itemPutCPtr2 ( PHB_ITEM pItem, char * szText ); -extern HB_EXPORT PHB_ITEM hb_itemPutCPtr ( PHB_ITEM pItem, char * szText, ULONG ulLen ); -extern HB_EXPORT PHB_ITEM hb_itemPutCLPtr ( PHB_ITEM pItem, char * szText, ULONG ulLen ); -extern HB_EXPORT void hb_itemSetCMemo ( PHB_ITEM pItem ); -extern HB_EXPORT PHB_ITEM hb_itemPutD ( PHB_ITEM pItem, int iYear, int iMonth, int iDay ); -extern HB_EXPORT PHB_ITEM hb_itemPutDS ( PHB_ITEM pItem, const char * szDate ); -extern HB_EXPORT PHB_ITEM hb_itemPutTS ( PHB_ITEM pItem, const char * szDateTime ); -extern HB_EXPORT PHB_ITEM hb_itemPutDL ( PHB_ITEM pItem, long lJulian ); -extern HB_EXPORT PHB_ITEM hb_itemPutTD ( PHB_ITEM pItem, double dTimeStamp ); -extern HB_EXPORT PHB_ITEM hb_itemPutTDT ( PHB_ITEM pItem, LONG lJulian, LONG lMilliSec ); -extern HB_EXPORT PHB_ITEM hb_itemPutL ( PHB_ITEM pItem, BOOL bValue ); -extern HB_EXPORT PHB_ITEM hb_itemPutND ( PHB_ITEM pItem, double dNumber ); -extern HB_EXPORT PHB_ITEM hb_itemPutNI ( PHB_ITEM pItem, int iNumber ); -extern HB_EXPORT PHB_ITEM hb_itemPutNL ( PHB_ITEM pItem, long lNumber ); -extern HB_EXPORT PHB_ITEM hb_itemPutNInt ( PHB_ITEM pItem, HB_LONG lNumber ); -extern HB_EXPORT PHB_ITEM hb_itemPutNIntLen( PHB_ITEM pItem, HB_LONG lNumber, int iWidth ); -extern HB_EXPORT PHB_ITEM hb_itemPutNLen ( PHB_ITEM pItem, double dNumber, int iWidth, int iDec ); -extern HB_EXPORT PHB_ITEM hb_itemPutNDLen ( PHB_ITEM pItem, double dNumber, int iWidth, int iDec ); -extern HB_EXPORT PHB_ITEM hb_itemPutNDDec ( PHB_ITEM pItem, double dNumber, int iDec ); -extern HB_EXPORT PHB_ITEM hb_itemPutNILen ( PHB_ITEM pItem, int iNumber, int iWidth ); -extern HB_EXPORT PHB_ITEM hb_itemPutNLLen ( PHB_ITEM pItem, long lNumber, int iWidth ); -extern HB_EXPORT PHB_ITEM hb_itemPutNumType( PHB_ITEM pItem, double dNumber, int iDec, int iType1, int iType2 ); -extern HB_EXPORT PHB_ITEM hb_itemPutPtr ( PHB_ITEM pItem, void * pValue ); -extern HB_EXPORT PHB_ITEM hb_itemPutPtrGC ( PHB_ITEM pItem, void * pValue ); -extern HB_EXPORT PHB_ITEM hb_itemPutSymbol ( PHB_ITEM pItem, PHB_SYMB pSym ); -extern HB_EXPORT BOOL hb_itemRelease ( PHB_ITEM pItem ); -extern HB_EXPORT PHB_ITEM hb_itemReturn ( PHB_ITEM pItem ); -extern HB_EXPORT PHB_ITEM hb_itemReturnForward( PHB_ITEM pItem ); -extern HB_EXPORT void hb_itemReturnRelease( PHB_ITEM pItem ); -extern HB_EXPORT ULONG hb_itemSize ( PHB_ITEM pItem ); -extern HB_EXPORT HB_TYPE hb_itemType ( PHB_ITEM pItem ); +extern HB_EXPORT PHB_ITEM hb_itemArrayGet ( PHB_ITEM pArray, ULONG ulIndex ); +extern HB_EXPORT PHB_ITEM hb_itemArrayNew ( ULONG ulLen ); +extern HB_EXPORT PHB_ITEM hb_itemArrayPut ( PHB_ITEM pArray, ULONG ulIndex, PHB_ITEM pItem ); +extern HB_EXPORT ULONG hb_itemCopyC ( PHB_ITEM pItem, char * szBuffer, ULONG ulLen ); +extern HB_EXPORT BOOL hb_itemFreeC ( char * szText ); +extern HB_EXPORT char * hb_itemGetC ( PHB_ITEM pItem ); +extern HB_EXPORT const char * hb_itemGetCPtr ( PHB_ITEM pItem ); +extern HB_EXPORT ULONG hb_itemGetCLen ( PHB_ITEM pItem ); +extern HB_EXPORT char * hb_itemGetDS ( PHB_ITEM pItem, char * szDate ); +extern HB_EXPORT char * hb_itemGetTS ( PHB_ITEM pItem, char * szDateTime ); +extern HB_EXPORT long hb_itemGetDL ( PHB_ITEM pItem ); +extern HB_EXPORT double hb_itemGetTD ( PHB_ITEM pItem ); +extern HB_EXPORT BOOL hb_itemGetTDT ( PHB_ITEM pItem, LONG * plJulian, LONG * plMilliSec ); +extern HB_EXPORT BOOL hb_itemGetL ( PHB_ITEM pItem ); +extern HB_EXPORT double hb_itemGetND ( PHB_ITEM pItem ); +extern HB_EXPORT double hb_itemGetNDDec ( PHB_ITEM pItem, int * piDec ); +extern HB_EXPORT int hb_itemGetNI ( PHB_ITEM pItem ); +extern HB_EXPORT long hb_itemGetNL ( PHB_ITEM pItem ); +extern HB_EXPORT HB_LONG hb_itemGetNInt ( PHB_ITEM pItem ); +extern HB_EXPORT void hb_itemGetNLen ( PHB_ITEM pItem, int * piWidth, int * piDec ); +extern HB_EXPORT void * hb_itemGetPtr ( PHB_ITEM pItem ); +extern HB_EXPORT void * hb_itemGetPtrGC ( PHB_ITEM pItem, HB_GARBAGE_FUNC_PTR pFunc ); +extern HB_EXPORT PHB_SYMB hb_itemGetSymbol ( PHB_ITEM pItem ); +extern HB_EXPORT PHB_ITEM hb_itemNew ( PHB_ITEM pNull ); +extern HB_EXPORT void hb_itemInit ( PHB_ITEM pItem ); +extern HB_EXPORT USHORT hb_itemPCount ( void ); +extern HB_EXPORT PHB_ITEM hb_itemParam ( USHORT uiParam ); +extern HB_EXPORT PHB_ITEM hb_itemPutC ( PHB_ITEM pItem, const char * szText ); +extern HB_EXPORT PHB_ITEM hb_itemPutCL ( PHB_ITEM pItem, const char * szText, ULONG ulLen ); +extern HB_EXPORT PHB_ITEM hb_itemPutCConst ( PHB_ITEM pItem, const char * szText ); +extern HB_EXPORT PHB_ITEM hb_itemPutCLConst( PHB_ITEM pItem, const char * szText, ULONG ulLen ); +extern HB_EXPORT PHB_ITEM hb_itemPutCPtr2 ( PHB_ITEM pItem, char * szText ); +extern HB_EXPORT PHB_ITEM hb_itemPutCPtr ( PHB_ITEM pItem, char * szText, ULONG ulLen ); +extern HB_EXPORT PHB_ITEM hb_itemPutCLPtr ( PHB_ITEM pItem, char * szText, ULONG ulLen ); +extern HB_EXPORT void hb_itemSetCMemo ( PHB_ITEM pItem ); +extern HB_EXPORT PHB_ITEM hb_itemPutD ( PHB_ITEM pItem, int iYear, int iMonth, int iDay ); +extern HB_EXPORT PHB_ITEM hb_itemPutDS ( PHB_ITEM pItem, const char * szDate ); +extern HB_EXPORT PHB_ITEM hb_itemPutTS ( PHB_ITEM pItem, const char * szDateTime ); +extern HB_EXPORT PHB_ITEM hb_itemPutDL ( PHB_ITEM pItem, long lJulian ); +extern HB_EXPORT PHB_ITEM hb_itemPutTD ( PHB_ITEM pItem, double dTimeStamp ); +extern HB_EXPORT PHB_ITEM hb_itemPutTDT ( PHB_ITEM pItem, LONG lJulian, LONG lMilliSec ); +extern HB_EXPORT PHB_ITEM hb_itemPutL ( PHB_ITEM pItem, BOOL bValue ); +extern HB_EXPORT PHB_ITEM hb_itemPutND ( PHB_ITEM pItem, double dNumber ); +extern HB_EXPORT PHB_ITEM hb_itemPutNI ( PHB_ITEM pItem, int iNumber ); +extern HB_EXPORT PHB_ITEM hb_itemPutNL ( PHB_ITEM pItem, long lNumber ); +extern HB_EXPORT PHB_ITEM hb_itemPutNInt ( PHB_ITEM pItem, HB_LONG lNumber ); +extern HB_EXPORT PHB_ITEM hb_itemPutNIntLen( PHB_ITEM pItem, HB_LONG lNumber, int iWidth ); +extern HB_EXPORT PHB_ITEM hb_itemPutNLen ( PHB_ITEM pItem, double dNumber, int iWidth, int iDec ); +extern HB_EXPORT PHB_ITEM hb_itemPutNDLen ( PHB_ITEM pItem, double dNumber, int iWidth, int iDec ); +extern HB_EXPORT PHB_ITEM hb_itemPutNDDec ( PHB_ITEM pItem, double dNumber, int iDec ); +extern HB_EXPORT PHB_ITEM hb_itemPutNILen ( PHB_ITEM pItem, int iNumber, int iWidth ); +extern HB_EXPORT PHB_ITEM hb_itemPutNLLen ( PHB_ITEM pItem, long lNumber, int iWidth ); +extern HB_EXPORT PHB_ITEM hb_itemPutNumType( PHB_ITEM pItem, double dNumber, int iDec, int iType1, int iType2 ); +extern HB_EXPORT PHB_ITEM hb_itemPutPtr ( PHB_ITEM pItem, void * pValue ); +extern HB_EXPORT PHB_ITEM hb_itemPutPtrGC ( PHB_ITEM pItem, void * pValue ); +extern HB_EXPORT PHB_ITEM hb_itemPutSymbol ( PHB_ITEM pItem, PHB_SYMB pSym ); +extern HB_EXPORT BOOL hb_itemRelease ( PHB_ITEM pItem ); +extern HB_EXPORT PHB_ITEM hb_itemReturn ( PHB_ITEM pItem ); +extern HB_EXPORT PHB_ITEM hb_itemReturnForward( PHB_ITEM pItem ); +extern HB_EXPORT void hb_itemReturnRelease( PHB_ITEM pItem ); +extern HB_EXPORT ULONG hb_itemSize ( PHB_ITEM pItem ); +extern HB_EXPORT HB_TYPE hb_itemType ( PHB_ITEM pItem ); extern HB_EXPORT const char * hb_itemTypeStr ( PHB_ITEM pItem ); #ifndef HB_LONG_LONG_OFF -extern HB_EXPORT LONGLONG hb_itemGetNLL ( PHB_ITEM pItem ); -extern HB_EXPORT PHB_ITEM hb_itemPutNLL ( PHB_ITEM pItem, LONGLONG lNumber ); -extern HB_EXPORT PHB_ITEM hb_itemPutNLLLen ( PHB_ITEM pItem, LONGLONG lNumber, int iWidth ); +extern HB_EXPORT LONGLONG hb_itemGetNLL ( PHB_ITEM pItem ); +extern HB_EXPORT PHB_ITEM hb_itemPutNLL ( PHB_ITEM pItem, LONGLONG lNumber ); +extern HB_EXPORT PHB_ITEM hb_itemPutNLLLen ( PHB_ITEM pItem, LONGLONG lNumber, int iWidth ); #endif /* Non Clipper compliant internal API */ -extern HB_EXPORT PHB_ITEM hb_itemParamPtr ( USHORT uiParam, long lMask ); -extern HB_EXPORT BOOL hb_itemParamStore( USHORT uiParam, PHB_ITEM pItem ); -extern HB_EXPORT BOOL hb_itemParamStoreForward( USHORT uiParam, PHB_ITEM pItem ); -extern HB_EXPORT int hb_itemStrCmp ( PHB_ITEM pFirst, PHB_ITEM pSecond, BOOL bForceExact ); /* our string compare */ -extern HB_EXPORT int hb_itemStrICmp ( PHB_ITEM pFirst, PHB_ITEM pSecond, BOOL bForceExact ); /* our string compare */ -extern HB_EXPORT void hb_itemCopy ( PHB_ITEM pDest, PHB_ITEM pSource ); /* copies an item to one place to another respecting its containts */ -extern HB_EXPORT void hb_itemCopyToRef ( PHB_ITEM pDest, PHB_ITEM pSource ); -extern HB_EXPORT void hb_itemCopyFromRef( PHB_ITEM pDest, PHB_ITEM pSource ); -extern HB_EXPORT void hb_itemMove ( PHB_ITEM pDest, PHB_ITEM pSource ); /* moves the value of an item without incrementing of reference counters, source is cleared */ -extern HB_EXPORT void hb_itemMoveRef ( PHB_ITEM pDest, PHB_ITEM pSource ); -extern HB_EXPORT void hb_itemMoveToRef ( PHB_ITEM pDest, PHB_ITEM pSource ); -extern HB_EXPORT void hb_itemMoveFromRef( PHB_ITEM pDest, PHB_ITEM pSource ); -extern HB_EXPORT void hb_itemClear ( PHB_ITEM pItem ); -extern HB_EXPORT PHB_ITEM hb_itemUnRef ( PHB_ITEM pItem ); /* de-references passed variable */ -extern HB_EXPORT PHB_ITEM hb_itemUnRefOnce ( PHB_ITEM pItem ); /* de-references passed variable, one step*/ -extern HB_EXPORT PHB_ITEM hb_itemUnRefRefer( PHB_ITEM pItem ); /* de-references passed variable, leaving the last reference */ -extern HB_EXPORT PHB_ITEM hb_itemUnRefWrite( PHB_ITEM pItem, PHB_ITEM pSource ); /* de-references passed variable for writing */ -extern HB_EXPORT PHB_ITEM hb_itemUnShare ( PHB_ITEM pItem ); /* un-share given string item */ -extern HB_EXPORT PHB_ITEM hb_itemUnShareString( PHB_ITEM pItem ); /* un-share given string item - the pItem have to be valid unrefed string item */ -extern HB_EXPORT PHB_ITEM hb_itemReSizeString( PHB_ITEM pItem, ULONG ulSize ); /* Resize string buffer of given string item - the pItem have to be valid unrefed string item */ -extern HB_EXPORT PHB_ITEM hb_itemClone ( PHB_ITEM pItem ); /* clone the given item */ -extern HB_EXPORT char * hb_itemStr ( PHB_ITEM pNumber, PHB_ITEM pWidth, PHB_ITEM pDec ); /* convert a number to a string */ -extern HB_EXPORT char * hb_itemString ( PHB_ITEM pItem, ULONG * ulLen, BOOL * bFreeReq ); /* Convert any scalar to a string */ -extern HB_EXPORT BOOL hb_itemStrBuf ( char *szResult, PHB_ITEM pNumber, int iSize, int iDec ); /* convert a number to a string */ -extern HB_EXPORT PHB_ITEM hb_itemValToStr ( PHB_ITEM pItem ); /* Convert any scalar to a string */ -extern HB_EXPORT char * hb_itemPadConv ( PHB_ITEM pItem, ULONG * pulSize, BOOL * bFreeReq ); -extern HB_EXPORT void hb_itemSwap ( PHB_ITEM pItem1, PHB_ITEM pItem2 ); +extern HB_EXPORT PHB_ITEM hb_itemParamPtr ( USHORT uiParam, long lMask ); +extern HB_EXPORT BOOL hb_itemParamStore( USHORT uiParam, PHB_ITEM pItem ); +extern HB_EXPORT BOOL hb_itemParamStoreForward( USHORT uiParam, PHB_ITEM pItem ); +extern HB_EXPORT int hb_itemStrCmp ( PHB_ITEM pFirst, PHB_ITEM pSecond, BOOL bForceExact ); /* our string compare */ +extern HB_EXPORT int hb_itemStrICmp ( PHB_ITEM pFirst, PHB_ITEM pSecond, BOOL bForceExact ); /* our string compare */ +extern HB_EXPORT void hb_itemCopy ( PHB_ITEM pDest, PHB_ITEM pSource ); /* copies an item to one place to another respecting its containts */ +extern HB_EXPORT void hb_itemCopyToRef ( PHB_ITEM pDest, PHB_ITEM pSource ); +extern HB_EXPORT void hb_itemCopyFromRef( PHB_ITEM pDest, PHB_ITEM pSource ); +extern HB_EXPORT void hb_itemMove ( PHB_ITEM pDest, PHB_ITEM pSource ); /* moves the value of an item without incrementing of reference counters, source is cleared */ +extern HB_EXPORT void hb_itemMoveRef ( PHB_ITEM pDest, PHB_ITEM pSource ); +extern HB_EXPORT void hb_itemMoveToRef ( PHB_ITEM pDest, PHB_ITEM pSource ); +extern HB_EXPORT void hb_itemMoveFromRef( PHB_ITEM pDest, PHB_ITEM pSource ); +extern HB_EXPORT void hb_itemClear ( PHB_ITEM pItem ); +extern HB_EXPORT PHB_ITEM hb_itemUnRef ( PHB_ITEM pItem ); /* de-references passed variable */ +extern HB_EXPORT PHB_ITEM hb_itemUnRefOnce ( PHB_ITEM pItem ); /* de-references passed variable, one step*/ +extern HB_EXPORT PHB_ITEM hb_itemUnRefRefer( PHB_ITEM pItem ); /* de-references passed variable, leaving the last reference */ +extern HB_EXPORT PHB_ITEM hb_itemUnRefWrite( PHB_ITEM pItem, PHB_ITEM pSource ); /* de-references passed variable for writing */ +extern HB_EXPORT PHB_ITEM hb_itemUnShare ( PHB_ITEM pItem ); /* un-share given string item */ +extern HB_EXPORT PHB_ITEM hb_itemUnShareString( PHB_ITEM pItem ); /* un-share given string item - the pItem have to be valid unrefed string item */ +extern HB_EXPORT PHB_ITEM hb_itemReSizeString( PHB_ITEM pItem, ULONG ulSize ); /* Resize string buffer of given string item - the pItem have to be valid unrefed string item */ +extern HB_EXPORT PHB_ITEM hb_itemClone ( PHB_ITEM pItem ); /* clone the given item */ +extern HB_EXPORT char * hb_itemStr ( PHB_ITEM pNumber, PHB_ITEM pWidth, PHB_ITEM pDec ); /* convert a number to a string */ +extern HB_EXPORT char * hb_itemString ( PHB_ITEM pItem, ULONG * ulLen, BOOL * bFreeReq ); /* Convert any scalar to a string */ +extern HB_EXPORT BOOL hb_itemStrBuf ( char *szResult, PHB_ITEM pNumber, int iSize, int iDec ); /* convert a number to a string */ +extern HB_EXPORT PHB_ITEM hb_itemValToStr ( PHB_ITEM pItem ); /* Convert any scalar to a string */ +extern HB_EXPORT char * hb_itemPadConv ( PHB_ITEM pItem, ULONG * pulSize, BOOL * bFreeReq ); +extern HB_EXPORT void hb_itemSwap ( PHB_ITEM pItem1, PHB_ITEM pItem2 ); -extern HB_EXPORT char * hb_itemSerialize( PHB_ITEM pItem, BOOL fNumSize, ULONG *pulSize ); -extern HB_EXPORT PHB_ITEM hb_itemDeserialize( const char ** pBufferPtr, ULONG * pulSize ); +extern HB_EXPORT char * hb_itemSerialize( PHB_ITEM pItem, BOOL fNumSize, ULONG *pulSize ); +extern HB_EXPORT PHB_ITEM hb_itemDeserialize( const char ** pBufferPtr, ULONG * pulSize ); #if defined( _HB_API_INTERNAL_ ) diff --git a/harbour/source/vm/arrays.c b/harbour/source/vm/arrays.c index e383382f76..1a68cb093c 100644 --- a/harbour/source/vm/arrays.c +++ b/harbour/source/vm/arrays.c @@ -612,14 +612,14 @@ char * hb_arrayGetC( PHB_ITEM pArray, ULONG ulIndex ) return NULL; } -char * hb_arrayGetCPtr( PHB_ITEM pArray, ULONG ulIndex ) +const char * hb_arrayGetCPtr( PHB_ITEM pArray, ULONG ulIndex ) { HB_TRACE(HB_TR_DEBUG, ("hb_arrayGetCPtr(%p, %lu)", pArray, ulIndex)); if( HB_IS_ARRAY( pArray ) && ulIndex > 0 && ulIndex <= pArray->item.asArray.value->ulLen ) return hb_itemGetCPtr( pArray->item.asArray.value->pItems + ulIndex - 1 ); else - return ( char * ) ""; + return ""; } ULONG hb_arrayGetCLen( PHB_ITEM pArray, ULONG ulIndex ) diff --git a/harbour/source/vm/classes.c b/harbour/source/vm/classes.c index 6aff8c16b7..7cc4f2b6a9 100644 --- a/harbour/source/vm/classes.c +++ b/harbour/source/vm/classes.c @@ -3058,7 +3058,7 @@ static BOOL hb_clsAddMsg( USHORT uiClass, const char * szMessage, HB_FUNC( __CLSADDMSG ) { USHORT uiClass = ( USHORT ) hb_parni( 1 ); - char * szMessage = hb_parc( 2 ); + const char * szMessage = hb_parc( 2 ); if( szMessage && uiClass && uiClass <= s_uiClasses ) { @@ -3374,7 +3374,7 @@ static USHORT hb_clsNew( const char * szClassName, USHORT uiDatas, */ HB_FUNC( __CLSNEW ) { - char * szClassName; + const char * szClassName; PHB_ITEM pDatas, pSuperArray, pClassFunc, pModFriend; szClassName = hb_parc( 1 ); diff --git a/harbour/source/vm/dynsym.c b/harbour/source/vm/dynsym.c index c157c74400..31d1a29bdb 100644 --- a/harbour/source/vm/dynsym.c +++ b/harbour/source/vm/dynsym.c @@ -617,7 +617,7 @@ HB_FUNC( __DYNSGETINDEX ) /* Gimme index number of symbol: dsIndex = __dynsymGet HB_STACK_TLS_PRELOAD PHB_DYNS pDynSym; UINT uiPos = 0; - char * szName = hb_parc( 1 ); + const char * szName = hb_parc( 1 ); if( szName ) { @@ -671,7 +671,7 @@ HB_FUNC( __DYNSGETPRF ) /* profiler: It returns an array with a function or proc HB_FUNC( __DYNSN2PTR ) { HB_STACK_TLS_PRELOAD - char * szName = hb_parc( 1 ); + const char * szName = hb_parc( 1 ); hb_retptr( szName ? hb_dynsymGet( szName ) : NULL ); } @@ -679,7 +679,7 @@ HB_FUNC( __DYNSN2PTR ) HB_FUNC( __DYNSN2SYM ) { HB_STACK_TLS_PRELOAD - char * szName = hb_parc( 1 ); + const char * szName = hb_parc( 1 ); if( szName ) hb_itemPutSymbol( hb_stackReturnItem(), hb_dynsymGet( szName )->pSymbol ); diff --git a/harbour/source/vm/extend.c b/harbour/source/vm/extend.c index dcc88ec2e1..c4768b62ff 100644 --- a/harbour/source/vm/extend.c +++ b/harbour/source/vm/extend.c @@ -206,7 +206,7 @@ BOOL hb_extIsObject( int iParam ) /* NOTE: Caller should not modify the buffer returned by this function. [vszakats] */ -char * hb_parc( int iParam ) +const char * hb_parc( int iParam ) { HB_STACK_TLS_PRELOAD @@ -223,10 +223,10 @@ char * hb_parc( int iParam ) return pItem->item.asString.value; } - return ( char * ) NULL; + return NULL; } -char * hb_parcx( int iParam ) +const char * hb_parcx( int iParam ) { HB_STACK_TLS_PRELOAD @@ -243,7 +243,7 @@ char * hb_parcx( int iParam ) return pItem->item.asString.value; } - return ( char * ) ""; + return ""; } ULONG hb_parclen( int iParam ) @@ -320,7 +320,7 @@ char * hb_pards( int iParam ) /* NOTE: szDate must be a 9 chars wide buffer. [vszakats] */ -char * hb_pardsbuff( char * szDate, int iParam ) +char * hb_pardsbuff( char * szDate, int iParam ) { HB_STACK_TLS_PRELOAD @@ -635,7 +635,7 @@ char * hb_parvc( int iParam, ... ) va_end( va ); pItem = hb_arrayGetItemPtr( pItem, ulArrayIndex ); - return pItem && HB_IS_STRING( pItem ) ? hb_itemGetCPtr( pItem ) : NULL; + return pItem && HB_IS_STRING( pItem ) ? ( char * ) hb_itemGetCPtr( pItem ) : NULL; } } @@ -666,7 +666,7 @@ char * hb_parvcx( int iParam, ... ) ulArrayIndex = va_arg( va, ULONG ); va_end( va ); - return hb_arrayGetCPtr( pItem, ulArrayIndex ); + return ( char * ) hb_arrayGetCPtr( pItem, ulArrayIndex ); } } diff --git a/harbour/source/vm/itemapi.c b/harbour/source/vm/itemapi.c index 276fb38483..456d31b91b 100644 --- a/harbour/source/vm/itemapi.c +++ b/harbour/source/vm/itemapi.c @@ -455,14 +455,14 @@ char * hb_itemGetC( PHB_ITEM pItem ) /* NOTE: Caller should not modify the buffer returned by this function. [vszakats] */ -char * hb_itemGetCPtr( PHB_ITEM pItem ) +const char * hb_itemGetCPtr( PHB_ITEM pItem ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemGetCPtr(%p)", pItem)); if( pItem && HB_IS_STRING( pItem ) ) return pItem->item.asString.value; else - return ( char * ) ""; + return ""; } ULONG hb_itemGetCLen( PHB_ITEM pItem ) @@ -2549,7 +2549,7 @@ char * hb_itemString( PHB_ITEM pItem, ULONG * ulLen, BOOL * bFreeReq ) { case HB_IT_STRING: case HB_IT_MEMO: - buffer = hb_itemGetCPtr( pItem ); + buffer = ( char * ) hb_itemGetCPtr( pItem ); * ulLen = hb_itemGetCLen( pItem ); * bFreeReq = FALSE; break; diff --git a/harbour/source/vm/memvars.c b/harbour/source/vm/memvars.c index b98dc3d106..06c89829f1 100644 --- a/harbour/source/vm/memvars.c +++ b/harbour/source/vm/memvars.c @@ -539,7 +539,7 @@ void hb_memvarNewParameter( PHB_SYMB pSymbol, PHB_ITEM pValue ) hb_memvarCreateFromDynSymbol( pSymbol->pDynSym, VS_PRIVATE, pValue ); } -static HB_DYNS_PTR hb_memvarFindSymbol( char * szArg, ULONG ulLen ) +static HB_DYNS_PTR hb_memvarFindSymbol( const char * szArg, ULONG ulLen ) { HB_DYNS_PTR pDynSym = NULL; diff --git a/harbour/source/vm/set.c b/harbour/source/vm/set.c index 8431c1623b..b28dfad96d 100644 --- a/harbour/source/vm/set.c +++ b/harbour/source/vm/set.c @@ -123,7 +123,7 @@ static BOOL set_logical( PHB_ITEM pItem, BOOL bDefault ) bLogical = hb_itemGetL( pItem ); else if( HB_IS_STRING( pItem ) ) { - char * szString = hb_itemGetCPtr( pItem ); + const char * szString = hb_itemGetCPtr( pItem ); ULONG ulLen = hb_itemGetCLen( pItem ); if( ulLen >= 2