* include/hbsetup.h
* source/common/hbver.c
- Removed HB_OS_MAC support. It was nothing more than a simple
detection and a static version string, so we didn't lose much.
* make_vcce.mak
! Attempt to fix /MANIFEST:NO warnings for MSVC 6.0.
! Attempt to fix WinCE .dll linking error.
; Jose, another test would be great.
* make_vc.bat
* make_vc.mak
* make_vcce.bat
* make_vcce.mak
* Some syncing and minor fixes in comments.
* make_vcce.mak
! Fixed system library list to not contain gdi32.lib.
This lib was previously used for harbour.dll generation,
so I wonder if it was correct, but probably not.
It would be great if someone could try an MSVC WinCE .dll
build using the option:
set HB_BUILD_DLL=yes
* config/w32/mingw32.cf
% -mno-cygwin options removed. No longer needed. If someone
wants to compile a mingw build using cygwin, this option
should be explicitly specified as C_USR/L_USR and 'gcc'
should be used as a compiler. But this setup is barely
supported in Harbour, so don't expect it work.
(Rather, install MinGW)
* utils/hbmake/hbmake.prg
! Harbour executable detection cleanups and fix to look
into current dir and detect Darwin as a Unix platform.
(usable state is still very far)
* harbour/contrib/hbw32/w32_ole.c
* removed hack with malloc()/free() directly used to avoid
memory leak reports - it's not necessary in Harbour.
* harbour/contrib/hbfbird/firebird.c
* harbour/contrib/examples/pp/hbppcore.c
! fixed buffer size calculation in hbstrnc*() functions
* harbour/contrib/hbziparch/hbzipnew.cpp
% use hb_strdup() instead of hb_xgrab()/hb_strncpy()
* harbour/contrib/hbnf/getenvrn.c
! use hb_xgrab() instead of hb_xalloc() - the returned value
was not checked and internal error is for sure better then
GPF on NULL pointer
* harbour/source/rdd/dbfntx/dbfntx1.c
! use memcpy() instead of hb_strncpy() to avoid problems when
there is no place for tailing 0
* include/hbsetup.h
! Fixed problem where Darwin autodetection went wrong
between 1.0.0rc2 -> 1.0.0.
* HB_OS_DARWIN added to the HB_OS_UNIX detection list.
(no functional difference, just makes it more clear.)
% HB_OS_OS2_EMX removed. It was unused.
* source/compiler/gencobj.c
* include/hbsetup.h
% Removed OS_DOS_COMPATIBLE.
It's equivalent to !defined(HB_OS_UNIX_COMPATIBLE).
* source/common/hbver.c
! Fix to commit '2008-07-11 18:20 UTC+0200' which
effectively disabled Vista/2008 detection for
everything but MSVC (>1400) compilers.
* common.mak
* utils/hbmake/Makefile
* utils/hbmake/bld_b32.bat
* utils/hbmake/bld_vc.bat
* utils/hbmake/hbmake.prg
* utils/hbmake/hbmutils.prg
* utils/hbmake/tmake.prg
- utils/hbmake/ft_funcs.prg
- utils/hbmake/tmake.prg
! Applied patches sent by Bill Robertson.
ft_funcs.prg got replaced by standard file handling
functions and HB_FREADLINE(), EOL handling fixes,
typos and other fixes.
Many thanks Bill.
* Eliminated STATIC var in tmake.prg
* Merged tmake.prg into hbmake.prg. (this was the
easiest way to make the new s_aEOL variable available
to this module.)
; Please test.
* common.mak
* utils/hbdoc/Makefile
* utils/hbdoc/bld_b32.bat
* utils/hbdoc/bld_vc.bat
+ utils/hbdoc/hbdfrdln.c
+ Added HB_FREADLINE() to hbdoc, too. It's not
used, just a small help to allow using it here,
too, instead of ft_funcs.prg.
* harbour/source/vm/macro.c
* harbour/source/vm/hvm.c
! fixed _FIELD indirectly used as alias, f.e.:
? ("_FIELD")->NAME
or:
M->var := "_FIELD"
? ("&var")->NAME
* harbour/include/hbclass.ch
* harbour/include/common.ch
* use a little bit simpler form for HB_SYMBOL_UNUSED()
* harbour/contrib/hbw32/w32_ole.c
* harbour/contrib/hbole/ole2.c
! fixed numeric to pointer casting
* accept both pointer and numeric values as window handle
for easier code migration
* source/vm/cmdarg.c
! hb_hInstance, hb_hPrevInstance, s_iCmdShow, s_WinMainParam
vars marked as 'static', hb_ prefix changed to s_.
NOTE: This may pose a problem if some 3rd party code
was relying on the names or the fact that these
vars were exported by incident (since they were
not declared in any Harbour headers.)
[INCOMPATIBLE]
* contrib/hbwhat32/whtmain.c
! Removed WinMain() function and some global vars colliding
with some Harbour core ones.
* HINSTANCE(), HPREVINSTANCE(), NCMDSHOW() functions now
use Harbour API calls to retrieve values.
* make_vc.mak
* make_vcce.mak
% Cleaned list of system libraries for VC. winspool.lib
removed, the rest documented.
* Syncing between VC and VCCE.
; NOTE: WinCE system lib list didn't get anything removed
(just added), but nevertheless pls test it.
* ChangeLog
* Some cleanups (regarding my entries).
* source/pp/hbpp.c
! Comment typo.
* source/rtl/gtclip.c
! Fixed for __CYGWIN__.
* contrib/hbw32/dllcall.c
! Disabled asm parts for __CYGWIN__ to make it compile.
* config/w32/gcc.cf
! Added missing system lib wsock32 for Cygwin.
* config/w32/gcc.cf
* config/w32/cemgw.cf
* config/w32/mingw32.cf
* config/w32/owatcom.cf
* config/w32/pocc.cf
* config/w32/watcom.cf
* config/w32/xcc.cf
* Attempt to sort out system libs needed for core from
those needed for contribs. No system libraries have
been removed or added so far. [ I wonder why we need to
include contrib sys lib dependencies here, when Harbour
GNU make system doesn't build any contrib dependent
executables. Also, some ws2_32.lib seems definitely
superfluous. ]
; TOFIX: (for __CYGWIN__)
../../filesys.c: In function `hb_fsPOpen':
../../filesys.c:577: warning: passing arg 1 of `pipe' from incompatible pointer type
* harbour/tests/rddtest/rddmktst.prg
* harbour/tests/rddtest/adscl52.prg
* harbour/tests/rddtest/adscl53.prg
* harbour/tests/rddtest/ntxcl52.prg
* harbour/tests/rddtest/ntxcl53.prg
* harbour/tests/rddtest/cdxcl52.prg
* harbour/tests/rddtest/rddtst.prg
* harbour/tests/rddtest/cdxcl53.prg
* added copyright note. It's my code.
* harbour/source/debug/dbgentry.c
! strip function name from module name used to initialize
global and file wide variables. It fixes presenting file
wide static variables in debugger.
* harbour/source/debug/debugger.prg
% minor optimization
* contrib/hbole/ole2.c
! Fixed GPF reported by Guillermo.
(introduced in 1.0.0rc2 when switching from parnl to
parptr as 64-bit cleanup, two calls were missed from
the update).
! Fixed another potential problem.
* 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.
* utils/hbtest/rt_array.prg
+ Added failing test case of doing AEval()
and resizing the evaluated array in the
eval codeblock.
* utils/hbdoc/ft_funcs.prg
* utils/hbdoc/hbdoc.prg
* utils/hbmake/ft_funcs.prg
* utils/hbmake/hbmutils.prg
! Two EOL handling fixes applied.
Thanks to Bill Robertson.
; Please test.
* contrib/xhb/Makefile
* contrib/xhb/common.mak
+ contrib/xhb/arrayblk.prg
+ Added HB_ARRAYBLOCK()
* contrib/make_gcc_all.sh
+ Added darwin autodetection.
* contrib/Makefile
+ Added HB_CONTRIB_ADDONS envvar which enables building
local custom contribs stored in the contrib dir.
A separate dir may be better, but we will see.
* utils/hbtest/hbtest.prg
* Changed test .dbf filename casing to lowercase.
+ tests/rddtest
+ tests/rddtest/rddmktst.prg
+ tests/rddtest/adscl52.prg
+ tests/rddtest/adscl53.prg
+ tests/rddtest/ntxcl52.prg
+ tests/rddtest/ntxcl53.prg
+ tests/rddtest/cdxcl52.prg
+ tests/rddtest/rddtst.prg
+ tests/rddtest/make_c52.bat
+ tests/rddtest/cdxcl53.prg
+ tests/rddtest/make_c53.bat
+ Added RDD tests from xhb.
* 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.
* contrib/mtpl_b32.mak
* contrib/mtpl_gcc.mak
* contrib/mtpl_vc.mak
! Added -km switch to contribs by default.
This way it's synced with the GNU-make system, too.
* utils/hbdoc/hbdocdef.ch
* utils/hbdoc/fclass1.prg
* utils/hbdoc/ffile1.prg
* utils/hbdoc/ft_funcs.prg
* utils/hbmake/hbdocdef.ch
* utils/hbmake/fclass1.prg
* utils/hbmake/ffile1.prg
* utils/hbmake/ft_funcs.prg
* Cleanups, optimizations (in ft_funcs.prg)
! Synced these for common files to be completely
identical. In fact this is a fix, as their name
is common so they were "randomly" interchanged
along the non-GNU build process even before.
There was only one very small functional difference,
though.
; Please test.