* include/hbapi.h
* source/rtl/empty.c
* source/rtl/idle.c
* source/vm/arrays.c
* source/vm/estack.c
* source/vm/extend.c
* source/vm/itemapi.c
* added missing code to use HB_IT_POINTER just like
other value's type
You can use:
hb_retptr( void * pointer )
hb_parptr( ) -> void *
hb_storptr( void * pointer, ...... )
to return/manage pointers from low level functions.
For example:
p = GET_SOME_POINTER()
? VALTYPE(p) //prints: 'P'
? p //prints: 0x12345678
* tests/onidle.prg
* fixed to use values of pointer type
* tests/tstmacro.prg
* added code to test TYPE() function
* harbour/tests/bldtest/Makefile
* fixed typo in file name
* xharbour/include/hbdefs.h
+ added HB_COUNTER and HB_PTRDIFF types - first for reference
counters and second for any pointer differences and pointer to
integer conversions - this modification is synced with xHarbour
* harbour/include/hbapi.h
* harbour/include/hbdefs.h
* harbour/source/rtl/philes.c
* harbour/source/vm/arrays.c
* harbour/source/vm/hvm.c
* harbour/source/vm/itemapi.c
* use HB_COUNTER type
* source/compiler/gencobj.c
! fixed to allow = for the C compiler options
( suggested by Przemyslaw Czerpak )
! added support of OpenWatcom C
! cleaned the verbose option
* source/rdd/dbfcdx/dbfcdx1.h
! changed to allow OpenWatcom C build
( suggested by Przemyslaw Czerpak )
* source/vm/itemapi.c
! added support of OpenWatcom C
* source/vm/itemapi.c
! hb_itemStr() - Eliminated the limit of 9 decimals if not SET FIXED ON
! hb_itemStr() - Rounded starting from 17th less significant number.
This is the behavior of Clipper.
Ex:
Before ? str( 1191.63, 20, 15 ) -> 1191.629999999999882
Now ? str( 1191.63, 20, 15 ) -> 1191.630000000000000
* source/rtl/tbrowse.prg
+ activated scoping
* include/hbapierr.h
include/hbapiitm.h
include/hbvm.h
source/rtl/errorapi.c
source/vm/hvm.c
source/vm/itemapi.c
! fixed va_start() use or, better, changed it to be compatible with OS/2 EMX GCC
compiler which REQUIRES that va_start() calls use a type which cannot be promoted
to something bigger. That is, this call is correct:
va_start(valist, ulUnsignedLongType)
while this one is not:
va_start(valist, usUnsignedShortType)
Using a type which can be promoted to a bigger one leads to memory corruption.
I think this requirement could exist even on other ANSI C compilers.
! Removed workaround inside hb_itemDo() and hb_itemDoC() to prevent this corruption.