diff --git a/harbour/ChangeLog b/harbour/ChangeLog index a28d64932c..dce800ff0b 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,17 @@ +19990621-00:57 CET Victor Szel + * include/*.h + Some code beatifying. + * include/types.h/_PCOUNT renamed back to PCOUNT + + IT_MEMOFLAG and IT_MEMO types added to + include/extend.h and include/types.h + * TEST.CH moved from /include to tests/working + ! include/gt.api - _gtBox double define fixed. + ! include/extend.api - _param removed since it's + not standard Clipper. + ! include/item.api - Fixed obsolete references + to Array*() functions since changed to hb_array*() + ! source/rtl/console/hb_setpos() - Fixed one warning. + 19990621-00:37 Ryszard Glab * config/dos/watcom.cf * changed invocation of 'echo' command to overcome problems with diff --git a/harbour/include/error.ch b/harbour/include/error.ch index 5dd5825ad5..669a34fa71 100644 --- a/harbour/include/error.ch +++ b/harbour/include/error.ch @@ -1,62 +1,62 @@ -// error.ch +// error.ch //+ // Harbour project // // -// 99.04.25 initial posting. -// no prototypes yet +// 99.04.25 initial posting. +// no prototypes yet // // //- // Severity levels (oError:severity) -#define ES_WHOCARES 0 -#define ES_WARNING 1 -#define ES_ERROR 2 -#define ES_CATASTROPHIC 3 +#define ES_WHOCARES 0 +#define ES_WARNING 1 +#define ES_ERROR 2 +#define ES_CATASTROPHIC 3 // Generic error codes (oError:genCode) -#define EG_ARG 1 -#define EG_BOUND 2 -#define EG_STROVERFLOW 3 -#define EG_NUMOVERFLOW 4 -#define EG_ZERODIV 5 -#define EG_NUMERR 6 -#define EG_SYNTAX 7 -#define EG_COMPLEXITY 8 +#define EG_ARG 1 +#define EG_BOUND 2 +#define EG_STROVERFLOW 3 +#define EG_NUMOVERFLOW 4 +#define EG_ZERODIV 5 +#define EG_NUMERR 6 +#define EG_SYNTAX 7 +#define EG_COMPLEXITY 8 -#define EG_MEM 11 -#define EG_NOFUNC 12 -#define EG_NOMETHOD 13 -#define EG_NOVAR 14 -#define EG_NOALIAS 15 -#define EG_NOVARMETHOD 16 -#define EG_BADALIAS 17 -#define EG_DUPALIAS 18 +#define EG_MEM 11 +#define EG_NOFUNC 12 +#define EG_NOMETHOD 13 +#define EG_NOVAR 14 +#define EG_NOALIAS 15 +#define EG_NOVARMETHOD 16 +#define EG_BADALIAS 17 +#define EG_DUPALIAS 18 -#define EG_CREATE 20 -#define EG_OPEN 21 -#define EG_CLOSE 22 -#define EG_READ 23 -#define EG_WRITE 24 -#define EG_PRINT 25 +#define EG_CREATE 20 +#define EG_OPEN 21 +#define EG_CLOSE 22 +#define EG_READ 23 +#define EG_WRITE 24 +#define EG_PRINT 25 -#define EG_UNSUPPORTED 30 -#define EG_LIMIT 31 -#define EG_CORRUPTION 32 -#define EG_DATATYPE 33 -#define EG_DATAWIDTH 34 -#define EG_NOTABLE 35 -#define EG_NOORDER 36 -#define EG_SHARED 37 -#define EG_UNLOCKED 38 -#define EG_READONLY 39 +#define EG_UNSUPPORTED 30 +#define EG_LIMIT 31 +#define EG_CORRUPTION 32 +#define EG_DATATYPE 33 +#define EG_DATAWIDTH 34 +#define EG_NOTABLE 35 +#define EG_NOORDER 36 +#define EG_SHARED 37 +#define EG_UNLOCKED 38 +#define EG_READONLY 39 -#define EG_APPENDLOCK 40 -#define EG_LOCK 41 +#define EG_APPENDLOCK 40 +#define EG_LOCK 41 #define _ERROR_CH diff --git a/harbour/include/errorapi.h b/harbour/include/errorapi.h index 7ee0b1c52d..074c3811ae 100644 --- a/harbour/include/errorapi.h +++ b/harbour/include/errorapi.h @@ -29,7 +29,7 @@ * error codes (returned from _errLaunch()) */ -#define E_BREAK 0xffff +#define E_BREAK 0xFFFF #define E_RETRY 1 #define E_DEFAULT 0 diff --git a/harbour/include/extend.api b/harbour/include/extend.api index b56f307a26..399ea013c2 100644 --- a/harbour/include/extend.api +++ b/harbour/include/extend.api @@ -3,7 +3,6 @@ #include -#define _param hb_param #define _parc hb_parc #define _parclen hb_parclen #define _pards hb_pards diff --git a/harbour/include/extend.h b/harbour/include/extend.h index 0bc7ba0b1c..e1900ebea2 100644 --- a/harbour/include/extend.h +++ b/harbour/include/extend.h @@ -39,15 +39,17 @@ void ProcessSymbols( SYMBOL *, WORD ); #define IT_LOGICAL 0x0080 #define IT_SYMBOL 0x0100 #define IT_ALIAS 0x0200 -#define IT_BLOCK 0x1000 #define IT_STRING 0x0400 +#define IT_MEMOFLAG 0x0800 +#define IT_MEMO ( IT_MEMOFLAG & IT_STRING ) +#define IT_BLOCK 0x1000 #define IT_BYREF 0x2000 #define IT_ARRAY 0x8000 #define IT_OBJECT IT_ARRAY -#define IT_NUMERIC ( IT_INTEGER | IT_LONG | IT_DOUBLE ) +#define IT_NUMERIC ( IT_INTEGER | IT_LONG | IT_DOUBLE ) #define IT_ANY 0xFFFF -struct _CODEBLOCK; /* forward declaration */ +struct _CODEBLOCK; /* forward declaration */ typedef struct /* items hold at the virtual machine stack */ { @@ -55,16 +57,16 @@ typedef struct /* items hold at the virtual machine stack */ WORD wLength; /* length of the item */ WORD wDec; /* decimal places in a numeric double item */ union { /* different things may be holded here */ - char * szText; /* string values */ - int iNumber; /* int values */ - long lNumber; /* long values */ - double dNumber; /* double values */ - int iLogical; /* logical values */ - long lDate; /* date values */ - PSYMBOL pSymbol; /* functions call symbol */ - struct _CODEBLOCK * pCodeblock;/* pointer to a codeblock structure */ - WORD wItem; /* variable by reference, stack offset */ - void * pBaseArray; /* array base */ + char * szText; /* string values */ + int iNumber; /* int values */ + long lNumber; /* long values */ + double dNumber; /* double values */ + int iLogical; /* logical values */ + long lDate; /* date values */ + PSYMBOL pSymbol; /* functions call symbol */ + struct _CODEBLOCK * pCodeblock;/* pointer to a codeblock structure */ + WORD wItem; /* variable by reference, stack offset */ + void * pBaseArray; /* array base */ } value; WORD wBase; /* stack frame number of items position for a function call */ WORD wLine; /* currently processed PRG line number */ @@ -114,63 +116,63 @@ typedef struct _CODEBLOCK } CODEBLOCK, * PCODEBLOCK; PHB_ITEM hb_param( WORD wParam, WORD wType ); /* retrieve a generic parameter */ -char * hb_parc( WORD wParam, ... ); /* retrieve a string parameter */ -ULONG hb_parclen( WORD wParam, ... ); /* retrieve a string parameter length */ -char * hb_pards( WORD wParam, ... ); /* retrieve a date as a string yyyymmdd */ -int hb_parl( WORD wParam, ... ); /* retrieve a logical parameter as an int */ -double hb_parnd( WORD wParam, ... ); /* retrieve a numeric parameter as a double */ -int hb_parni( WORD wParam, ... ); /* retrieve a numeric parameter as a integer */ -long hb_parnl( WORD wParam, ... ); /* retrieve a numeric parameter as a long */ -WORD hb_parinfo( WORD wParam ); /* Determine the param count or data type */ -WORD hb_pcount( void ); /* returns the number of suplied parameters */ -void hb_ret( void ); /* post a NIL return value */ -void hb_retc( char * szText ); /* returns a string */ -void hb_retclen( char * szText, ULONG ulLen ); /* returns a string with a specific length */ -void hb_retds( char * szDate ); /* returns a date, must use yyyymmdd format */ -void hb_retl( int iTrueFalse ); /* returns a logical integer */ -void hb_retni( int iNumber ); /* returns a integer number */ -void hb_retnl( long lNumber ); /* returns a long number */ -void hb_retnd( double dNumber ); /* returns a double */ -void hb_storc( char * szText, WORD wParam, ... ); /* stores a szString on a variable by reference */ -void hb_storclen( char * fixText, WORD wLength, WORD wParam, ... ); /* stores a fixed length string on a variable by reference */ -void hb_stords( char * szDate, WORD wParam, ... ); /* szDate must have yyyymmdd format */ -void hb_storl( int iLogical, WORD wParam, ... ); /* stores a logical integer on a variable by reference */ -void hb_storni( int iValue, WORD wParam, ... ); /* stores an integer on a variable by reference */ -void hb_stornd( double dValue, WORD wParam, ... ); /* stores a double on a variable by reference */ -void hb_stornl( long lValue, WORD wParam, ... ); /* stores a long on a variable by reference */ +char * hb_parc( WORD wParam, ... ); /* retrieve a string parameter */ +ULONG hb_parclen( WORD wParam, ... ); /* retrieve a string parameter length */ +char * hb_pards( WORD wParam, ... ); /* retrieve a date as a string yyyymmdd */ +int hb_parl( WORD wParam, ... ); /* retrieve a logical parameter as an int */ +double hb_parnd( WORD wParam, ... ); /* retrieve a numeric parameter as a double */ +int hb_parni( WORD wParam, ... ); /* retrieve a numeric parameter as a integer */ +long hb_parnl( WORD wParam, ... ); /* retrieve a numeric parameter as a long */ +WORD hb_parinfo( WORD wParam ); /* Determine the param count or data type */ +WORD hb_pcount( void ); /* returns the number of suplied parameters */ +void hb_ret( void ); /* post a NIL return value */ +void hb_retc( char * szText ); /* returns a string */ +void hb_retclen( char * szText, ULONG ulLen ); /* returns a string with a specific length */ +void hb_retds( char * szDate ); /* returns a date, must use yyyymmdd format */ +void hb_retl( int iTrueFalse ); /* returns a logical integer */ +void hb_retni( int iNumber ); /* returns a integer number */ +void hb_retnl( long lNumber ); /* returns a long number */ +void hb_retnd( double dNumber ); /* returns a double */ +void hb_storc( char * szText, WORD wParam, ... ); /* stores a szString on a variable by reference */ +void hb_storclen( char * fixText, WORD wLength, WORD wParam, ... ); /* stores a fixed length string on a variable by reference */ +void hb_stords( char * szDate, WORD wParam, ... ); /* szDate must have yyyymmdd format */ +void hb_storl( int iLogical, WORD wParam, ... ); /* stores a logical integer on a variable by reference */ +void hb_storni( int iValue, WORD wParam, ... ); /* stores an integer on a variable by reference */ +void hb_stornd( double dValue, WORD wParam, ... ); /* stores a double on a variable by reference */ +void hb_stornl( long lValue, WORD wParam, ... ); /* stores a long on a variable by reference */ -void * hb_xgrab( ULONG lSize ); /* allocates memory */ -void * hb_xrealloc( void * pMem, ULONG lSize ); /* reallocates memory */ -void hb_xfree( void * pMem ); /* frees memory */ -void ItemCopy( PHB_ITEM pDest, PHB_ITEM pSource ); -void ItemRelease( PHB_ITEM pItem ); +void * hb_xgrab( ULONG lSize ); /* allocates memory */ +void * hb_xrealloc( void * pMem, ULONG lSize ); /* reallocates memory */ +void hb_xfree( void * pMem ); /* frees memory */ +void ItemCopy( PHB_ITEM pDest, PHB_ITEM pSource ); +void ItemRelease( PHB_ITEM pItem ); -void hb_arrayNew( PHB_ITEM pItem, ULONG ulLen ); /* creates a new array */ -void hb_arrayGet( PHB_ITEM pArray, ULONG ulIndex, PHB_ITEM pItem ); /* retrieves an item */ -ULONG hb_arrayLen( PHB_ITEM pArray ); /* retrives the array len */ -void hb_arraySet( PHB_ITEM pArray, ULONG ulIndex, PHB_ITEM pItem ); /* sets an array element */ -void hb_arraySize( PHB_ITEM pArray, ULONG ulLen ); /* sets the array total length */ -void hb_arrayRelease( PHB_ITEM pArray ); /* releases an array - don't call it - use ItemRelease() !!! */ -char *hb_arrayGetString( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the string contained on an array element */ -ULONG hb_arrayGetStringLen( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the string length contained on an array element */ -int hb_arrayGetType( PHB_ITEM pArray, ULONG ulIndex ); -void hb_arrayDel( PHB_ITEM pArray, ULONG ulIndex ); +void hb_arrayNew( PHB_ITEM pItem, ULONG ulLen ); /* creates a new array */ +void hb_arrayGet( PHB_ITEM pArray, ULONG ulIndex, PHB_ITEM pItem ); /* retrieves an item */ +ULONG hb_arrayLen( PHB_ITEM pArray ); /* retrives the array len */ +void hb_arraySet( PHB_ITEM pArray, ULONG ulIndex, PHB_ITEM pItem ); /* sets an array element */ +void hb_arraySize( PHB_ITEM pArray, ULONG ulLen ); /* sets the array total length */ +void hb_arrayRelease( PHB_ITEM pArray ); /* releases an array - don't call it - use ItemRelease() !!! */ +char * hb_arrayGetString( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the string contained on an array element */ +ULONG hb_arrayGetStringLen( PHB_ITEM pArray, ULONG ulIndex ); /* retrieves the string length contained on an array element */ +int hb_arrayGetType( PHB_ITEM pArray, ULONG ulIndex ); +void hb_arrayDel( PHB_ITEM pArray, ULONG ulIndex ); PHB_ITEM hb_arrayClone( PHB_ITEM pArray ); -void hb_arrayAdd( PHB_ITEM pArray, PHB_ITEM pItemValue ); +void hb_arrayAdd( PHB_ITEM pArray, PHB_ITEM pItemValue ); -int hb_itemStrCmp( PHB_ITEM pFirst, PHB_ITEM pSecond, BOOL bForceExact ); /* our string compare */ -char * hb_str( PHB_ITEM pNumber, PHB_ITEM pWidth, PHB_ITEM pDec ); /* convert number to string */ -int hb_stricmp( const char *s1, const char *s2 ); -BOOL hb_strempty( char * szText, ULONG ulLen ); -long hb_dateEncode( long lDay, long lMonth, long lYear ); -void hb_dateDecode( long julian, long * plDay, long * plMonth, long * plYear ); +int hb_itemStrCmp( PHB_ITEM pFirst, PHB_ITEM pSecond, BOOL bForceExact ); /* our string compare */ +char * hb_str( PHB_ITEM pNumber, PHB_ITEM pWidth, PHB_ITEM pDec ); /* convert number to string */ +int hb_stricmp( const char *s1, const char *s2 ); +BOOL hb_strempty( char * szText, ULONG ulLen ); +long hb_dateEncode( long lDay, long lMonth, long lYear ); +void hb_dateDecode( long julian, long * plDay, long * plMonth, long * plYear ); HARBOURFUNC GetMethod( PHB_ITEM pObject, PSYMBOL pSymMsg ); /* returns the method pointer of a object class */ -char * hb_GetClassName( PHB_ITEM pObject ); /* retrieves an object class name */ +char * hb_GetClassName( PHB_ITEM pObject ); /* retrieves an object class name */ /* dynamic symbol table management */ -PDYNSYM GetDynSym( char * szName ); /* finds and creates a dynamic symbol if not found */ -PDYNSYM NewDynSym( PSYMBOL pSymbol ); /* creates a new dynamic symbol based on a local one */ -PDYNSYM FindDynSym( char * szName ); /* finds a dynamic symbol */ +PDYNSYM GetDynSym( char * szName ); /* finds and creates a dynamic symbol if not found */ +PDYNSYM NewDynSym( PSYMBOL pSymbol ); /* creates a new dynamic symbol based on a local one */ +PDYNSYM FindDynSym( char * szName ); /* finds a dynamic symbol */ #endif /* EXTEND_H_ */ diff --git a/harbour/include/gt.api b/harbour/include/gt.api index b22936564c..1daba5d25a 100644 --- a/harbour/include/gt.api +++ b/harbour/include/gt.api @@ -8,9 +8,9 @@ #include #define _gtInit hb_gtInit -#define _gtBox hb_gtBox -#define _gtBoxD hb_gtBoxD -#define _gtBox hb_gtBoxS +#define _gtBox hb_gtBox +#define _gtBoxD hb_gtBoxD +#define _gtBoxS hb_gtBoxS #define _gtColorSelect hb_gtColorSelect #define _gtDispBegin hb_gtDispBegin #define _gtDispCount hb_gtDispCount diff --git a/harbour/include/gtapi.h b/harbour/include/gtapi.h index 1737c8fe08..c9e2c1121c 100644 --- a/harbour/include/gtapi.h +++ b/harbour/include/gtapi.h @@ -41,37 +41,37 @@ /* Public interface. These should never change, only be added to. */ -void hb_gtInit(void); -int hb_gtBox(USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight, char * fpBoxString); -int hb_gtBoxD(USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight); -int hb_gtBoxS(USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight); -int hb_gtColorSelect(USHORT uiColorIndex); -int hb_gtDispBegin(void); +void hb_gtInit(void); +int hb_gtBox(USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight, char * fpBoxString); +int hb_gtBoxD(USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight); +int hb_gtBoxS(USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight); +int hb_gtColorSelect(USHORT uiColorIndex); +int hb_gtDispBegin(void); USHORT hb_gtDispCount(void); -int hb_gtDispEnd(void); -int hb_gtGetColorStr(char * fpColorString); -int hb_gtGetCursor(USHORT * uipCursorShape); -int hb_gtGetPos(USHORT * uipRow, USHORT * uipCol); -BOOL hb_gtIsColor(void); +int hb_gtDispEnd(void); +int hb_gtGetColorStr(char * fpColorString); +int hb_gtGetCursor(USHORT * uipCursorShape); +int hb_gtGetPos(USHORT * uipRow, USHORT * uipCol); +BOOL hb_gtIsColor(void); USHORT hb_gtMaxCol(void); USHORT hb_gtMaxRow(void); -int hb_gtPostExt(void); -int hb_gtPreExt(void); -int hb_gtRectSize(USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight, USHORT * uipBuffSize); -int hb_gtRepChar(USHORT uiRow, USHORT uiCol, USHORT uiChar, USHORT uiCount); -int hb_gtRest(USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight, char * vlpScrBuff); -int hb_gtSave(USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight, char * vlpScrBuff); -int hb_gtScrDim(USHORT * uipHeight, USHORT * uipWidth); -int hb_gtScroll(USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight, SHORT iRows, SHORT iCols); -int hb_gtSetBlink(BOOL bBlink); -int hb_gtSetColorStr(char * fpColorString); -int hb_gtSetCursor(USHORT uiCursorShape); -int hb_gtSetMode(USHORT uiRows, USHORT uiCols); -int hb_gtSetPos(USHORT uiRow, USHORT uiCol); -int hb_gtSetSnowFlag(BOOL bNoSnow); -int hb_gtWrite(char * fpStr, USHORT uiLen); -int hb_gtWriteAt(USHORT uiRow, USHORT uiCol, char * fpStr, USHORT uiLen); -int hb_gtWriteCon(char * fpStr, USHORT uiLen); +int hb_gtPostExt(void); +int hb_gtPreExt(void); +int hb_gtRectSize(USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight, USHORT * uipBuffSize); +int hb_gtRepChar(USHORT uiRow, USHORT uiCol, USHORT uiChar, USHORT uiCount); +int hb_gtRest(USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight, char * vlpScrBuff); +int hb_gtSave(USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight, char * vlpScrBuff); +int hb_gtScrDim(USHORT * uipHeight, USHORT * uipWidth); +int hb_gtScroll(USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight, SHORT iRows, SHORT iCols); +int hb_gtSetBlink(BOOL bBlink); +int hb_gtSetColorStr(char * fpColorString); +int hb_gtSetCursor(USHORT uiCursorShape); +int hb_gtSetMode(USHORT uiRows, USHORT uiCols); +int hb_gtSetPos(USHORT uiRow, USHORT uiCol); +int hb_gtSetSnowFlag(BOOL bNoSnow); +int hb_gtWrite(char * fpStr, USHORT uiLen); +int hb_gtWriteAt(USHORT uiRow, USHORT uiCol, char * fpStr, USHORT uiLen); +int hb_gtWriteCon(char * fpStr, USHORT uiLen); /* maximum length of color string */ #define CLR_STRLEN 64 diff --git a/harbour/include/hberrors.h b/harbour/include/hberrors.h index 35b8332fbe..6ad792b9cf 100644 --- a/harbour/include/hberrors.h +++ b/harbour/include/hberrors.h @@ -37,7 +37,6 @@ #define WARN_ASSIGN_SUSPECTED 5 void GenError( int, char*, char * ); /* generic parsing error management function */ - void GenWarning( int, char*, char * ); /* generic parsing warning management function */ #endif /* HBERRORS_H_ */ diff --git a/harbour/include/hbsetup.h b/harbour/include/hbsetup.h index 66ed127d70..7aeeed3568 100644 --- a/harbour/include/hbsetup.h +++ b/harbour/include/hbsetup.h @@ -37,7 +37,7 @@ * * By default it is disabled (symbol is not defined) */ -/*#define USE_GTAPI*/ +#define USE_GTAPI /* Operating system specific definitions */ diff --git a/harbour/include/item.api b/harbour/include/item.api index 84870ae610..7796282d4a 100644 --- a/harbour/include/item.api +++ b/harbour/include/item.api @@ -3,18 +3,18 @@ #include -#define _arrayNew ArrayNew -#define _arrayLen ArrayLen -#define _arrayGet ArrayGet -#define _arrayPut ArraySet -#define _arrayResize ArraySize -#define _arrayGetC ArrayGetString -#define _arrayGetCL ArrayGetStringLen +#define _arrayNew hb_arrayNew +#define _arrayLen hb_arrayLen +#define _arrayGet hb_arrayGet +#define _arrayPut hb_arraySet +#define _arrayResize hb_arraySize +#define _arrayGetC hb_arrayGetString +#define _arrayGetCL hb_arrayGetStringLen -#define _evalLaunch hb_evalLaunch -#define _evalNew hb_evalNew -#define _evalPutParam hb_evalPutParam -#define _evalRelease hb_evalRelease +#define _evalLaunch hb_evalLaunch +#define _evalNew hb_evalNew +#define _evalPutParam hb_evalPutParam +#define _evalRelease hb_evalRelease #define _itemArrayGet hb_itemArrayGet #define _itemArrayNew hb_itemArrayNew diff --git a/harbour/include/itemapi.h b/harbour/include/itemapi.h index 4862af388f..2a234117b5 100644 --- a/harbour/include/itemapi.h +++ b/harbour/include/itemapi.h @@ -9,27 +9,28 @@ typedef struct { - WORD type; - WORD paramCount; - PHB_ITEM pItems[ 10 ]; + WORD type; + WORD paramCount; + PHB_ITEM pItems[ 10 ]; } EVALINFO, * PEVALINFO; #define ITEM PHB_ITEM + PHB_ITEM hb_evalLaunch( PEVALINFO pEvalInfo ); -BOOL hb_evalNew( PEVALINFO pEvalInfo, PHB_ITEM pItem ); -BOOL hb_evalPutParam( PEVALINFO pEvalInfo, PHB_ITEM pItem ); -BOOL hb_evalRelease( PEVALINFO pEvalInfo ); +BOOL hb_evalNew( PEVALINFO pEvalInfo, PHB_ITEM pItem ); +BOOL hb_evalPutParam( PEVALINFO pEvalInfo, PHB_ITEM pItem ); +BOOL hb_evalRelease( PEVALINFO pEvalInfo ); PHB_ITEM hb_itemArrayGet( PHB_ITEM pArray, ULONG ulIndex ); PHB_ITEM hb_itemArrayNew( ULONG ulLen ); PHB_ITEM hb_itemArrayPut( PHB_ITEM pArray, ULONG ulIndex, PHB_ITEM pItem ); -ULONG hb_itemCopyC( PHB_ITEM pItem, char *szBuffer, ULONG ulLen ); -BOOL hb_itemFreeC( char *szText ); -char * hb_itemGetC( PHB_ITEM pItem ); -char *hb_itemGetDS( PHB_ITEM pItem, char *szDate ); -BOOL hb_itemGetL( PHB_ITEM pItem ); -double hb_itemGetND( PHB_ITEM pItem ); -long hb_itemGetNL( PHB_ITEM pItem ); +ULONG hb_itemCopyC( PHB_ITEM pItem, char *szBuffer, ULONG ulLen ); +BOOL hb_itemFreeC( char *szText ); +char * hb_itemGetC( PHB_ITEM pItem ); +char * hb_itemGetDS( PHB_ITEM pItem, char *szDate ); +BOOL hb_itemGetL( PHB_ITEM pItem ); +double hb_itemGetND( PHB_ITEM pItem ); +long hb_itemGetNL( PHB_ITEM pItem ); PHB_ITEM hb_itemNew( PHB_ITEM pNull ); PHB_ITEM hb_itemParam( WORD wParam ); PHB_ITEM hb_itemPutC( PHB_ITEM pItem, char *szText ); @@ -38,9 +39,9 @@ PHB_ITEM hb_itemPutDS( PHB_ITEM pItem, char *szDate ); PHB_ITEM hb_itemPutL( PHB_ITEM pItem, BOOL bValue ); PHB_ITEM hb_itemPutND( PHB_ITEM pItem, double dNumber ); PHB_ITEM hb_itemPutNL( PHB_ITEM pItem, long lNumber ); -BOOL hb_itemRelease( PHB_ITEM pItem ); +BOOL hb_itemRelease( PHB_ITEM pItem ); PHB_ITEM hb_itemReturn( PHB_ITEM pItem ); -ULONG hb_itemSize( PHB_ITEM pItem ); -WORD hb_itemType( PHB_ITEM pItem ); +ULONG hb_itemSize( PHB_ITEM pItem ); +WORD hb_itemType( PHB_ITEM pItem ); #endif /* ITEMAPI_H_ */ diff --git a/harbour/include/set.h b/harbour/include/set.h index 97a0bad6b1..f8b42b4704 100644 --- a/harbour/include/set.h +++ b/harbour/include/set.h @@ -15,22 +15,22 @@ void ReleaseSets (void); typedef enum { - SC_NONE = 0, /* None */ - SC_NORMAL = 1, /* Underline */ - SC_INSERT = 2, /* Lower half block */ + SC_NONE = 0, /* None */ + SC_NORMAL = 1, /* Underline */ + SC_INSERT = 2, /* Lower half block */ SC_SPECIAL1 = 3, /* Full block */ SC_SPECIAL2 = 4 /* Upper half block */ } HB_cursor_enum; typedef enum { - INKEY_MOVE = 1, /* Mouse Events */ - INKEY_LDOWN = 2, /* Mouse Left Click Down */ - INKEY_LUP = 4, /* Mouse Left Click Up */ - INKEY_RDOWN = 8, /* Mouse Right Click Down */ - INKEY_RUP = 16, /* Mouse Right Click Up */ + INKEY_MOVE = 1, /* Mouse Events */ + INKEY_LDOWN = 2, /* Mouse Left Click Down */ + INKEY_LUP = 4, /* Mouse Left Click Up */ + INKEY_RDOWN = 8, /* Mouse Right Click Down */ + INKEY_RUP = 16, /* Mouse Right Click Up */ INKEY_KEYBOARD = 128, /* Keyboard Events */ - INKEY_ALL = 159 /* All Mouse and Keyboard Events */ + INKEY_ALL = 159 /* All Mouse and Keyboard Events */ } HB_inkey_enum; typedef enum diff --git a/harbour/include/types.h b/harbour/include/types.h index 367c0e0ce7..1b04a72e73 100644 --- a/harbour/include/types.h +++ b/harbour/include/types.h @@ -16,7 +16,7 @@ #else #undef BYTE -typedef unsigned char BYTE, * PBYTE; /* 1 byte */ +typedef unsigned char BYTE, * PBYTE; /* 1 byte unsigned */ #undef WORD /* 2 bytes unsigned */ typedef unsigned short int WORD; @@ -86,12 +86,13 @@ typedef HARBOUR ( * HARBOURFUNC )( void ); #define IS_STRING( p ) IS_OF_TYPE( p, IT_STRING ) #define IS_SYMBOL( p ) IS_OF_TYPE( p, IT_SYMBOL ) -#define _PCOUNT hb_parinfo( 0 ) +#define PCOUNT hb_parinfo( 0 ) + #define ISCHAR( n ) hb_param( n, IT_STRING ) #define ISNUM( n ) hb_param( n, IT_NUMERIC ) #define ISLOG( n ) hb_param( n, IT_LOGICAL ) #define ISDATE( n ) hb_param( n, IT_DATE ) -/* #define ISMEMO( n ) hb_param( n, IT_MEMO ) TODO */ +#define ISMEMO( n ) hb_param( n, IT_MEMO ) #define ISBYREF( n ) hb_param( n, IT_BYREF ) #define ISARRAY( n ) hb_param( n, IT_ARRAY ) #define ALENGTH( n ) hb_parinfa( n, 0 ) /* TODO! */ diff --git a/harbour/source/rtl/console.c b/harbour/source/rtl/console.c index 5b67e4ea64..6e39480d9e 100644 --- a/harbour/source/rtl/console.c +++ b/harbour/source/rtl/console.c @@ -336,10 +336,11 @@ static void hb_devout( char * fpStr, WORD uiLen ) void hb_setpos( USHORT row, USHORT col ) { - USHORT count; #ifdef USE_GTAPI hb_gtSetPos( row, col ); #else + USHORT count; + for( count = dev_row; count < row; count++ ) printf("\n"); if( row > dev_row ) dev_col = 0; for( count = dev_col; count < col; count++ ) printf(" "); diff --git a/harbour/source/runner/runner.c b/harbour/source/runner/runner.c index ac321685e6..e335d33777 100644 --- a/harbour/source/runner/runner.c +++ b/harbour/source/runner/runner.c @@ -178,7 +178,7 @@ HARBOUR HB_HB_RUN( void ) { PushSymbol( pSymRead + ul ); PushNil(); - for( i = 0; i < (_pcount() - 1); i++ ) + for( i = 0; i < (hb_pcount() - 1); i++ ) Push( hb_param( i + 2, IT_ANY ) ); /* Push other cmdline params*/ Do( hb_pcount() - 1 ); /* Run init function */ @@ -187,7 +187,7 @@ HARBOUR HB_HB_RUN( void ) PushSymbol( pSymRead ); PushNil(); - for( i = 0; i < (_pcount() - 1); i++ ) + for( i = 0; i < (hb_pcount() - 1); i++ ) Push( hb_param( i + 2, IT_ANY ) ); /* Push other cmdline params*/ Do( hb_pcount() - 1 ); /* Run the thing !!! */ diff --git a/harbour/tests/working/test.ch b/harbour/tests/working/test.ch new file mode 100644 index 0000000000..0292dee5be --- /dev/null +++ b/harbour/tests/working/test.ch @@ -0,0 +1,3 @@ +// Test include file +// +#define _HARBOUR_VERS 23.2