* tests/multifnc/t0.prg
* tests/multifnc/t1.prg
* tests/multifnc/t2.prg
* source/rdd/usrrdd/example/exmemo.prg
* source/rdd/usrrdd/example/exhsx.prg
* source/rdd/usrrdd/example/exfcm.prg
* source/rdd/usrrdd/example/exrlx.prg
* contrib/xhb/hbsyslog.c
* contrib/rddado/tests/mysql3.prg
* contrib/rddado/tests/access1.prg
* contrib/rddado/tests/access2.prg
* contrib/rddado/tests/mysql1.prg
* contrib/hbpgsql/tests/tstpgrdd.prg
! SVN headers.
* contrib/hbwhat32/Makefile
* contrib/hbwhat32/common.mak
- contrib/hbwhat32/wintypes.ch
- Removed wintypes.ch, as it collides with a header with
the same name (and similar content) in xhb. It will
now use the xhb one, since it already relied on other
xhb headers anyway.
If anyone wants to sort this out properly, pls do.
* contrib/hbgt/Makefile
* contrib/hbgt/common.mak
- contrib/hbgt/strdiff.c
+ contrib/hbgt/strdiffg.c
- contrib/hbgt/charmix.c
+ contrib/hbgt/charmixg.c
- contrib/hbgt/asciisum.c
+ contrib/hbgt/asciisgt.c
- contrib/hbgt/ascpos.c
+ contrib/hbgt/ascposgt.c
* contrib/hbgf/hbgfos2/Makefile
- contrib/hbgf/hbgfos2/tmenuitm.prg
+ contrib/hbgf/hbgfos2/tmenuit.prg
! Some files renamed to collide with each other on
non-GNU make systems.
* contrib/examples/hscript/cgi.ch
* contrib/examples/hscript/dir.hs
* contrib/examples/hscript/multiply.hs
* contrib/examples/hscript/ugly.hs
* contrib/examples/hscript/hello.hs
* contrib/examples/guestbk/guestbk.ini
+ Added SVN headers.
+ source/rtl/gtalleg/common.mak
+ source/rtl/gtalleg/make_gcc.sh
+ source/rtl/gtalleg/make_b32.bat
+ source/rtl/gtalleg/make_vc.bat
+ Added non-GNU make file as an ugly hack to
build them on Windows systems.
- tests/altd.prg
+ tests/altdtest.prg
* Rename.
* include/hbver.h
* harbour-ce-spec
* harbour-w32-spec
* harbour.spec
* Version changed to '1.0.1dev'.
Trunk will need to be synced to tag/1.0.
* common.mak
+ Added version to harbour.dll: harbour-101-b32/vc.dll
; Work in progress. Pls comment.
* source/pp/hbpp.c
* source/vm/cmdarg.c
* source/vm/memvars.c
* source/rtl/dates.c
* source/rtl/fstemp.c
* source/rtl/gtchrmap.c
* source/rtl/gtcrs/gtcrs.c
* source/rtl/gtpca/gtpca.c
* source/rtl/gtstd/gtstd.c
* source/rdd/dbf1.c
* source/rdd/dbfntx/dbfntx1.c
* contrib/hbct/disk.c
* contrib/hbfbird/firebird.c
* contrib/hbw32/w32_ole.c
* contrib/xhb/hboutdbg.c
* contrib/examples/pp/hbppcore.c
* strncpy() -> hb_strncpy()
* strncat() -> hb_strncat()
! In most of these places the terminating zero
was not explicitly set by the caller before.
* contrib/hbnf/getenvrn.c
* contrib/hbw32/dllcall.c
* contrib/hbw32/w32_ole.c
* contrib/hbwhat32/_wincdlg.c
* contrib/hbwhat32/_windll.c
* contrib/hbwhat32/_winmain.c
* contrib/hbziparch/hbzipnew.cpp
! strcpy() -> hb_strncpy()
! strcat() -> hb_strncat()
; TOFIX1: There are still two strcpy()s left in SQL_SPRINTF().
Xavi, could you pls take a look at it?
; TOFIX2: There are still a few strcpy()s in hbwince.c and
dbgentry.c.
* source/pp/hbpp.c
* source/rtl/gtcrs/gtcrs.c
* source/rtl/gtpca/gtpca.c
* source/rtl/gtstd/gtstd.c
* contrib/hbfbird/firebird.c
* contrib/hbwhat32/_wincdlg.c
* contrib/hbwhat32/_windll.c
! Fixed wrong buffer sizes (or no buffer limits) in some
string copy operations (potential buffer overruns).
* contrib/hbnf/getenvrn.c
! Fixed bad leak in FT_GETE() on Win32 systems.
* source/rtl/fstemp.c
! hb_fsTempName(): Fixed potential buffer overrun by one byte.
* Minor formatting.
* source/rtl/fstemp.c
* source/rtl/hbffind.c
* contrib/xhb/hboutdbg.c
* Using sizeof() instead of explicit size in string copy operations.
; TODO: There is a lot more to fix like this.
; Przemek, could you double check these changes pls?
I can send you the .diff if it helps.
* common.mak
* source/vm/debug.c
* source/vm/hvm.c
* source/vm/Makefile
+ source/vm/debugold.c
+ Added some HB_DBG_*() functions for compatibility
with certain 3rd party libs. They are marked with
HB_LEGACY_LEVEL, and will be removed (pbly at 1.1.0),
so everyone is encouraged to use __DBG*() version
for Harbour versions above 0x010000 (or not use
them at all, if this is possible). If these functions
are indeed needed for some functionality, it'd be
good to hear about it, maybe there is a solution
which doesn't require internals.
* utils/hbdoc/ft_funcs.prg
* utils/hbmake/ft_funcs.prg
* Using FS_* manifest constants.
* include/dbinfo.ch
* include/dbstruct.ch
* include/hbgtinfo.ch
* include/hblang.ch
* include/setcurs.ch
! Added "also used from C code" comments.
* utils/hbmake/ffile1.prg
! Minor cleanup.
* include/hbgfxdef.ch
* include/hbgtinfo.ch
* Marked old GTI_*, GFX_* macros with HB_LEGACY_LEVEL.
(Old macro HB_GT_NO_XHB no longer works)
* include/hbsetup.ch
+ Added HB_LEGACY_LEVEL macro. Currently turned on.
Will be turned off later, and completely removed
as a final step. Times are not defined for these
yet. Please prepare to modify your code to not
use old legacy stuff.
NOTE: C code using legacy Clipper (.api) headers are
unaffected.
* include/hbapirdd.h
* Marked HARBOUR_* macros with HB_LEGACY_LEVEL
* include/hbsetup.h
* Marked OS_UNIX_COMPATIBLE, OS_PATH_DELIMITER
macros with HB_LEGACY_LEVEL.
* include/hbapifs.h
* source/rtl/filesys.c
* Marked hb_fileNameConv() as HB_LEGACY_LEVEL.
; 3rd party and app developers should switch to
hb_fsNameConv().
* source/rtl/box.c
* source/rtl/console.c
* source/rtl/filesys.c
* source/rtl/gtapi.c
* source/rtl/hbgtcore.c
* contrib/hbclipsm/gauge.c
* contrib/hbclipsm/status.c
* contrib/hbct/ctwin.c
* source/rtl/set.c
* utils/hbmake/hbmlang.c
* Updated core/contrib sources to use non-legacy names:
HB_CLRSTR_LEN, HB_EVALINFO, PHB_EVALINFO, HB_FHANDLE
; TODO: FHANDLE -> HB_FHANDLE is incomplete yet.
* include/hbdefs.h
* Minor formatting.
* include/hbmath.h
! #include <hbmath.ch> -> #include "hbmath.ch"
* contrib/hbmysql/mysql.c
+ function SQLFETCHR() updated to allow fetching binary (BLOB)
fields. [Thanks to Mitja Podgornik]
* include/hbapifs.h
* include/hbapigt.h
* include/hbapiitm.h
* include/hbdefs.h
* include/item.api
* include/filesys.api
* include/gt.api
* FHANDLE -> HB_FHANDLE
* EVALINFO -> HB_EVALINFO
* PEVALINFO -> PHB_EVALINFO
* EVALINFO_PTR -> marked as legacy
* CLR_STRLEN -> HB_CLRSTR_LEN
; Old names are still working if HB_LEGACY_LEVEL
is #defined, and by default now it is.
; It's highly recommended to change all 3rd party and
app C code to use the new #defines/types/functions.
; NOTE1: There are some more names which are still
in the legacy "namespace", and gradually
I'd like to clean some of these as well. The most
important would be the type names, as these
are currently colliding with multiple external
packages, like windows.h, and it also makes it
impossible to compile hbfimage on certain systems.
; NOTE2: I'd also like to move the *_PTR (like HB_ITEM_PTR)
names to legacy status as we don't really use
them except in a few VM files, and we have PHB_*
as a wide-spread (and shorter) replacement.
; NOTE3: We may also use HB_LEGACY_LEVEL to obolete other
legacy or unsafe functions, with better new
alternatives.
; NOTE4: Here's a more or less complete list of names
that _may_ cause such problems:
; Type related stuff
- TRUE, FALSE
- BOOL, BYTE, SCHAR, UINT, USHORT
- INT_MAX, INT_MIN
- INT16, INT16_MAX, INT16_MIN
- INT24_MAX, INT24_MIN
- INT32, INT32_MAX, INT32_MIN
- INT64, INT64_MAX, INT64_MIN
- LONG, LONG_MAX, LONG_MIN
- LONGLONG, LONGLONG_MAX, LONGLONG_MIN
- SHORT, SHRT_MAX, SHRT_MIN
- UCHAR, UCHAR_MAX
- UINT16, UINT16_MAX
- UINT24_MAX
- UINT32, UINT32_MAX
- UINT64, UINT64_MAX
- ULONG, ULONG_MAX
- ULONGLONG, ULONGLONG_MAX
- assert()
; Some hacks currently used:
- HB_DONT_DEFINE_BASIC_TYPES
- HB_DONT_DEFINE_BOOL
- HB_OS_WIN_32_USED ->
(include <windows.h> locally where needed)
; Compiler related stuff:
- VS_*, VU_*, VT_*, FUN_*
- *COMDECLARED, *COMCLASS, *COMSYMBOL
- VAR, PVAR
- _FUNC, PFUNCTION
- _INLINE, PINLINE
- _FUNCALL, PFUNCALL
- _EXTERN, PEXTERN
- AUTOOPEN, PAUTOOPEN
- FUNCTIONS
- INLINES
- FUNCALLS
- SYMBOLS
; Clipper compatibility #defines,
better be moved behind a compatibility layer:
- F_ERROR, FS_ERROR
- IS*()
- E_*, EF_*
- FL_*, FLX_*, FO_*, FXO_*
- _B_*
- FC_*, FS_*, FD_*
- INKEY_*, K_*
- ES_*, EG_*
- SC_*
- DBS_*
; + All RDD related stuff, including "dbinfo.ch" constants.
* doc/whatsnew.txt
* Extended releases notes/issues section.
* config/w32/dm.cf
! Fixed to exclude "possible extraneous ';'" warnings
for every for()/while()/etc constructs with an empty body.
! Further fixes to link/lib rules.
; TOFIX1: odbc.c, gtwvg.c still don't compile.
; TOFIX2: Harbour executables won't run, by simply doing nothing.
* source/rtl/gtwvt/gtwvt.c
! Fixed to compile with __DMC__.
; NOTE: Przemek, could you please check these?
* include/hbsetup.h
! snprintf() for __DMC__.
* contrib/hbw32/dllcall.c
! Fixed casting for __DMC__.
* contrib/hbsqlit3/hbsqlit3.c
! Workaround for Pelles C 4.5 and Open Watcom, so that
sqlite3.c won't be included for these compilers.
Pelles C 4.5 crashes, Open Watcom 1.7 goes into an
infinite loop on this huge file. For thes compilers
the sqlite3 library should be supplied by the users.
* contrib/hbapollo/apollo.c
! Fixed to compile with Open Watcom.
* source/vm/mainwin.c
* source/vm/hvm.c
! Fix for __DMC__ startup problem:
'OPTLINK : Warning 134: No Start Address'
* harbour/config/w32/dm.cf
* updated for central library directory used by Harbour - not tested
* harbour/config/w32/xcc.cf
! fixed include PATH in XCC builds - Viktor be carefull with
cleaning -I<path> parameter. Some compilers use different
rulles then the one you may expect using the most popular
ones and such operation will break compilation. F.e. XCC
seems to ignore source file location for releative paths
so in GNU make builds it's necessary to add "-I$(TOP)"
instead of "-I." and when included file starts with ".."
then it does not try to use it with paths set by -I option
so we need -I$(TOP)$(ROOT) and hard coded for this compiler
directories in include/hbregex.h and include/hbzip.h
* harbour/source/hbzlib/zutil.h
! do not use fdopen() with XCC - it does not support it
* harbour/contrib/examples/pp/pp.c
* harbour/contrib/examples/pp/hbppcore.c
* harbour/source/common/hbfsapi.c
* harbour/source/rtl/fnsplit.c
* harbour/source/rtl/fstemp.c
! always use _POSIX_PATH_MAX + 1 buffers
* harbour/source/compiler/gencobj.c
* extended line buffer size
* harbour/source/rtl/gtcrs/gtcrs.h
* removed unnecessary declaration for _POSIX_PATH_MAX
it's always defined in Harbour header files
* harbour/source/rtl/inkey.c
* harbour/source/rtl/hbinet.c
* harbour/source/rtl/gtwvt/gtwvt.c
* use hb_array[SG]et*() functions insteaf of
hb_item*( hb_arrayGetItemPtr, ... )
* include/hbsetup.h
* config/hpux/gcc.cf
* config/linux/gcc.cf
* config/os2/gcc.cf
* config/bsd/gcc.cf
! Never force the platform from the make files, rather
rely on the autodetection in hbsetup.h.
Compiling default parts of the software should only rely
on manually set macros if there is no reasonable chance to
make the detection automatic.
! HB_OS_LINUX, HB_OS_HPUX autodetection supposedly made more robust.
* include/hbsetup.ch
* include/hbapi.h
* source/rtl/hbffind.c
- Removed HB_FILE_VER stuff. It's lost it's importancy with SVN.
* include/Makefile
* include/hbcommon.ch
- Removed hbcommon.ch no longer needed. It only contained
HB_FILE_VER related stuff.
* contrib/rddado/Makefile
! Excluded from OS/2 builds.
* config/sunos/gcc.cf
! Fixed to include required system libs for hbinet.c.
- Removed HB_OS_SUNOS command-line macro. Now relying on
autodetection.
* include/hbsetup.h
* Extended autodetection for HB_OS_SUNOS.
* source/vm/itemapi.c
! Fixed to check for HB_OS_SUNOS macro after
including Harbour headers.
* harbour/include/hbextern.ch
* include scalar classes only when HB_REQUEST_SCALLAR define is set
* harbour/source/rtl/tobject.prg
! use <obj>:className instead of __objGetClsName( <obj> ) in error
message
* harbour/source/vm/extrap.c
* deallocate alternative signal stack on exit
TOFIX: hb_vmSetExceptionHandler() / hb_vmUnsetExceptionHandler()
cover only part of hb_vmInit() and not hb_vmQuit(). Their
calls should be moved to external places where both
hb_vmInit() and hb_vmQuit() are executed.
* harbour/source/rdd/dbfcdx/dbfcdx1.c
! fixed to not respect bitmap filters when structural order
is scanned, f.e. in OrdListAdd() with active bitmap filter.
* doc/whatsnew.txt
* bin/hb-mkslib.sh
! Changed the way harbour.dylib is created on Darwin systems
to support universal builds. Please review and test.
! Fixed generating links for .dylibs on Darwin.
! Removed one excessive 'cd "${OTMPDIR}"' command.
(I hope this is right)
! Removed previously added $(L_USR) from Darwin dynamic
lib creation command line, as the L_USR "-arch" flags
(and probably others) cannot work here.
; TOFIX: 'ld: library not found for -lharbour' is still
present.
* include/hbsetup.h
+ Added autodetection for HB_OS_DARWIN (based on __APPLE__).
* config/darwin/gcc.cf
! Not forcing HB_OS_DARWIN from the command-line,
we're relying on the autodetection.
* source/rtl/hbzlib.c
* include/hbextern.ch
* doc/whatsnew.txt
* Harbour level functions renamed:
HB_COMPRESS -> HB_ZCOMPRESS
HB_COMPRESSBOUND -> HB_ZCOMPRESSBOUND
HB_UNCOMPRESS -> HB_ZUNCOMPRESS
HB_UNCOMPRESSLEN -> HB_ZUNCOMPRESSLEN
This is to avoid collision with xhb functions
with similar name but different parameter list.
Please modify your programs to use the new interface.
INCOMPATIBLE.
* utils/hbextern/hbextern.prg
* Disabled scanning C HB_FUNC functions in .prg files.
* Minor formatting.
* include/hbapigt.h
! Minor cosmetic.
* source/vm/runner.c
* include/hbextern.ch
* doc/whatsnew.txt
* contrib/examples/hscript/hscript.prg
* utils/hbrun/hbrun.prg
* Harbour level functions renamed:
__HRBRUN -> HB_HRBRUN
__HRBLOAD -> HB_HRBLOAD
__HRBDO -> HB_HRBDO
__HRBUNLOAD -> HB_HRBUNLOAD
__HRBGETFU -> HB_HRBGETSYMBOL
__HRBDOFU -> HB_HRBDOSYMBOL
.hrb API functions moved to the documented namespace.
Old function names still function, but are deprecated.
Please modify your programs to use the new interface.
; NOTE: HB_DBG_*() function should I believe correctly
named as __DBG*(), as they are indeed internal
functions, not meant to guaranteed for final apps.
We should do this cleanup in the future.
* tests/Makefile
- tests/spawn.prg
- tests/spawn2.prg
! Removed two obsolete tests.
* harbour/make_deb.sh
* harbour/make_tgz.sh
* harbour/make_rpm.sh
* harbour/make_rpmce.sh
* harbour/make_rpmw32.sh
* harbour/bin/pack_src.sh
* force using BASH in all files which includes hb-func.sh
* harbour/include/hbgtcore.h
* harbour/include/hbapigt.h
* harbour/include/hbextern.ch
* harbour/source/rtl/hbgtcore.c
* harbour/source/rtl/inkeyapi.c
* harbour/source/rtl/inkey.c
+ added HB_KEYINS() which works like HB_KEYPUT() but numeric
key values puts at the beginning of keyboard buffer.
It does not clear keyboard buffer contents.
* harbour/source/rtl/achoice.prg
+ Added functionality for K_MOUSEMOVE.
Now if the moouse is moved over the AChoice area,
prompt ready for selection will also change, just like
in Windows.
* harbour/bin/hb-func.sh
+ recognize -mwindows -mconsole MinGW-GCC switches and update
library list for them
* harbour/source/rtl/gtwvt/gtwvt.h
* harbour/source/rtl/gtwvt/gtwvt.c
+ added support HB_SET{TERM|DISP|KEY}CP() in non Unicode builds
* harbour/harbour-ce-spec
* harbour/harbour-w32-spec
! set HB_XBUILD evvar
* harbour/bin/hb-func.sh
! do not move harbour.dll to HB_BIN_INSTALL directory when
HB_XBUILD envvar is set
* harbour/source/hbzlib/deflate.c
* pacified warning
* source/hbzlib/zconf.h
* Undone previous ZLIB_DLL related change, as it causes these
warnings, when compiled with MSVS:
hbzlib.obj : warning LNK4217: locally defined symbol _inflateEnd imported in function _hb_zlibUncompressedSize
hbzlib.obj : warning LNK4217: locally defined symbol _inflate imported in function _hb_zlibUncompressedSize
hbzlib.obj : warning LNK4217: locally defined symbol _inflateInit_ imported in function _hb_zlibUncompressedSize
hbzlib.obj : warning LNK4217: locally defined symbol _zlibVersion imported in function _HB_FUN_HB_ZLIBVERSION
hbzlib.obj : warning LNK4217: locally defined symbol _compressBound imported in function _HB_FUN_HB_COMPRESSBOUND
hbzlib.obj : warning LNK4217: locally defined symbol _compress imported in function _HB_FUN_HB_COMPRESS
hbzlib.obj : warning LNK4217: locally defined symbol _compress2 imported in function _HB_FUN_HB_COMPRESS
hbzlib.obj : warning LNK4217: locally defined symbol _uncompress imported in function _HB_FUN_HB_UNCOMPRESS
hbzlib.obj : warning LNK4217: locally defined symbol _gzclose imported in function _hb_gz_Destructor
hbzlib.obj : warning LNK4217: locally defined symbol _gzopen imported in function _HB_FUN_HB_GZOPEN
hbzlib.obj : warning LNK4217: locally defined symbol _gzdopen imported in function _HB_FUN_HB_GZDOPEN
hbzlib.obj : warning LNK4217: locally defined symbol _gzsetparams imported in function _HB_FUN_HB_GZSETPARAMS
hbzlib.obj : warning LNK4217: locally defined symbol _gzread imported in function _HB_FUN_HB_GZREAD
hbzlib.obj : warning LNK4217: locally defined symbol _gzwrite imported in function _HB_FUN_HB_GZWRITE
hbzlib.obj : warning LNK4217: locally defined symbol _gzgets imported in function _HB_FUN_HB_GZGETS
hbzlib.obj : warning LNK4217: locally defined symbol _gzputs imported in function _HB_FUN_HB_GZPUTS
hbzlib.obj : warning LNK4217: locally defined symbol _gzgetc imported in function _HB_FUN_HB_GZGETC
hbzlib.obj : warning LNK4217: locally defined symbol _gzungetc imported in function _HB_FUN_HB_GZUNGETC
hbzlib.obj : warning LNK4217: locally defined symbol _gzflush imported in function _HB_FUN_HB_GZFLUSH
hbzlib.obj : warning LNK4217: locally defined symbol _gzseek imported in function _HB_FUN_HB_GZSEEK
hbzlib.obj : warning LNK4217: locally defined symbol _gzrewind imported in function _HB_FUN_HB_GZREWIND
hbzlib.obj : warning LNK4217: locally defined symbol _gztell imported in function _HB_FUN_HB_GZTELL
hbzlib.obj : warning LNK4217: locally defined symbol _gzeof imported in function _HB_FUN_HB_GZEOF
hbzlib.obj : warning LNK4217: locally defined symbol _gzdirect imported in function _HB_FUN_HB_GZDIRECT
hbzlib.obj : warning LNK4217: locally defined symbol _gzerror imported in function _HB_FUN_HB_GZERROR
hbzlib.obj : warning LNK4217: locally defined symbol _gzclearerr imported in function _HB_FUN_HB_GZCLEARERR
* source/compiler/hbusage.c
+ Updated credit list based on contributors
committing ChangeLog entries.
If anyone has someone to recommend to add to the list,
please do this on the devl-list.
* source/compiler/hbusage.c
* source/compiler/cmdcheck.c
+ -k? switches made case-insensitive.
* harbour/bin/hb-func.sh
* harbour/source/vm/hvm.c
* harbour/source/rtl/hbgtcore.c
* added const to s_defaultGT and s_pszLinkedMain declarations
* make s_pszLinkedMain visible and functional for platforms
which does not use HARBOUR_START_PROCEDURE
* harbour/source/vm/extrap.c
+ added exception trap for SIGSEGV, SIGILL, SIGFPE and SIGBUS
for *nixes which support sigaltstack()
* harbour/include/hbwmain.c
* harbour/source/vm/mainwin.c
* use of WinMain() from hbwmain.c
* harbour/source/pp/pplib.c
* ignore all #pragma directives setting compiler switches instead
of generating RT error when user uses PP in .prg code by __PP_*()
functions
* harbour/source/Makefile
+ harbour/source/hbextern
+ harbour/source/hbextern/hbextern.prg
+ harbour/source/hbextern/Makefile
* harbour/common.mak
* harbour/make_b32.mak
* harbour/make_gcc.mak
* harbour/make_vc.mak
* harbour/make_vcce.mak
* harbour/bin/hb-func.sh
+ added hbextern library
+ added hbextern to harbour shared library. Now all functions
are registered and visible for dynamically linked applications
not only .prg ones and .c functions explicitly bound with some
.prg code
* harbour/utils/hbrun/Makefile
* harbour/utils/hbrun/hbrun.prg
* use hbextern library instead of #include "hbextern.ch"
It has no noticeable effect on static builds but greatly
reduce the size of dynamic builds, f.e. current hbrun
linked dynamically in my Linux box has 12KB.