* contrib/hbodbc/odbc.c
+ Copied dummy HB_TCHAR* macros from odbcdd.c, plus
added dummy HB_TCHAR_CONVFROM().
% Removed separate branches for Windows platform.
Please test it on *nix.
; TODO: Except one. Currently we have no TCHAR macro
which deals with byte strings with lengths.
Przemek, do you think it's possible to add it?
* contrib/rddsql/sddodbc/odbcdd.c
+ Added HB_TCHAR_CONVFROM().
* contrib/rddsql/sddodbc/odbcdd.c
! Added UNICODE support to the extent it compiles. Please
make tests. Also SQLGetData() / SQL_C_CHAR may also need
conversion from UNICODE.
* harbour/source/vm/memvars.c
* modified __mvDbgInfo():
- accept as 1-st parameter also HB_MV_PRIVATE_LOCAL and
HB_MV_PRIVATE_GLOBAL values
- changed parameters meaning now when less then 3 parameters is
given this function returns number of variables and the second
parameter is the call stack level. Memvar value and optionally
name is returned only if 3 or more parameters is given.
3-rd party code which used this function with two parameters
has to be updated.
* harbour/source/debug/debugger.prg
* mark non local private variables in monitor as "Private^" (with "^")
* do not show public and private variables hidden by other private
declarations
* harbour/source/rtl/filebuf.c
! refuse to share file handles if they were open in different mode
TODO: add support for keeping more then one handle for single file
open and allow such combinations.
* harbour/source/rtl/hbffind.c
% optimized *nix version of hb_fsFind*()
* harbour/utils/hbmk2/hbmk2.prg
! fixed compilation on non Windows platforms (unused variable warning)
* harbour/include/hbset.h
* harbour/source/vm/set.c
+ added new function hb_setGetPrinterHandle() which allows to open
closed printer port
! do not force opening default port after SET PRINTER TO ""
but delay the initialization untill other code does not call
hb_setGetPrinterHandle()
! fixed filename returned by _SET_PRINTFILE, _SET_ALTFILE, _SET_EXTRAFILE
! fixed dpossible resource leaks whne _SET_*FILE is called recurisvely
for user error block
! fixed _SET_*FILE settings to not accept files which cannot be open
(just like in Clipper)
* harbour/source/rtl/console.c
* use hb_setGetPrinterHandle() to access printer handler
* utils/hbmk2/hbmk2.prg
+ Added automatic configuration for bcc compiler. This kicks in
for bcc installations missing bcc32.cfg or ilink32.cfg next to
bcc32.exe. In this case Lib/Include dir will automatically
added to the lib/include lists by hbmk2. This means that
hbmk2 will work with bare bcc installations without doing any
manual configuration.
* config/global.cf
+ Added link to blog dealing with GNU Make.
* INSTALL
+ Added typical ("FAQ") error message encountered with old,
buggy, unsupported GNU Make versions which users seem to
often use. In case someone would RTFM.
* source/vm/set.c
! Applied fix sent by Xavi. Thanks.
I did a few minor formattings and rename, and did a
light review, please review further and test. I seem to
remember some deeper problems with this feature,
reported a while ago on the list.
* utils/hbmk2/hbmk2.prg
! Added workaround for DIRECTORY() problem under Windows.
'*.ext' input files weren't working if the actual filenames
had different casing (on Windows). Also changed the hack
to only kick in on Windows platforms, *nixes seems to work
as expected.
; NOTE: This workaround should probably be moved to Harbour
FileFind API.
* INSTALL
+ Added HB_INC_ODBC.
* contrib/hbwin/tests/testole.prg
* contrib/hbwin/legacyc.c
* Updated to reflect OLE function name changes.
* contrib/hbwin/legacyc.c
+ Added GETACTIVEOBJECT(), CREATEOBJECT(), OLEERROR()
compatibility calls. All of them are simple aliases to
new OLE function, which means there may be differences
in behviour. Users will need to adjust them for full
compatibility.
However, I'd recommend changing all code to use our
new OLE functions and classes.
* contrib/hbwin/Makefile
+ contrib/hbwin/legacy.prg
* Moved TOLEAUTO() compatibility class to .prg level.
It's a stub, inheriting from WIN_OLEAUTO. I hope TOLEAUTO
users will fill it with required compitibility methods.
; NOTE: Getting these warnings with bcc:
Warning W8075 ../../axcore.c 93: Suspicious pointer conversion in function hb_ax_init
Warning W8075 ../../axcore.c 322: Suspicious pointer conversion in function HB_FUN___AXREGISTERHANDLER
; NOTE: Getting these errors with msvc (default C++ mode):
../../axcore.c(93) : error C2440: '=' : cannot convert from 'FARPROC' to 'HRESULT (__stdcall *)(HWND,IUnknown **)'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
../../axcore.c(146) : error C2143: syntax error : missing ';' before '*'
../../axcore.c(146) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
../../axcore.c(146) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
../../axcore.c(175) : error C2039: 'lpVtbl' : is not a member of 'ISink'
../../axcore.c(145) : see declaration of 'ISink'
../../axcore.c(175) : error C2227: left of '->Release' must point to class/struct/union/generic type
../../axcore.c(179) : error C2143: syntax error : missing ')' before 'this'
../../axcore.c(179) : error C2143: syntax error : missing ';' before 'this'
../../axcore.c(179) : error C2059: syntax error : ')'
../../axcore.c(180) : error C2143: syntax error : missing ';' before '{'
../../axcore.c(180) : error C2447: '{' : missing function header (old-style formal list?)
[ ...snip... ]
../../axcore.c(198) : error C2365: 'Release' : redefinition; previous definition was 'formerly unknown identifier'
[ ...snip... ]
../../axcore.c(282) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
../../axcore.c(282) : error C2146: syntax error : missing ';' before identifier 'ISink_Vtbl'
../../axcore.c(282) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
../../axcore.c(283) : error C2440: 'initializing' : cannot convert from 'HRESULT (__stdcall *)(IDispatch *)' to 'int'
There is no context in which this conversion is possible
../../axcore.c(284) : error C2078: too many initializers
../../axcore.c(322) : error C2039: 'lpVtbl' : is not a member of 'ISink'
../../axcore.c(145) : see declaration of 'ISink'
- hbwin/legacy.c
+ hbwin/legacyc.c
* hbwin/Makefile
* Renamed legacy.c to legacyc.c.
* hbwin/win_tprn.prg
* hbwin/hbwin.ch
* Moved #defines to hbwin.ch header.
* Formatting.
+ Added HB_COMPAT_XPP protection for XBPBITMAP class.
* hbwin/win_tprn.prg
* hbwin/win_prn1.c
* WIN_OS_ISWIN9X() removed, now using OS_ISWIN9X().
These OS_*() functions should be renamed in the future.
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
+ Added support for UTF-8 output. Currently on on *nix
systems. The current solution is just an ugly hack,
for the most part to test this problem in real life.
The output format is also fixed to *nix OSes, there is
not attempt made to detect terminal encoding, so it
may be wrong if terminal expects something else.
* utils/hbi18n/hbi18n.prg
* .po_ -> .po (Przemek, please verify me, or modify it as
you think best)
* harbour/contrib/xhb/xhbmsgs.c
! fixed one byte string as number emulation in some math operations
where both expressions are one byte strings, f.e.:
? "A" * "B"
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
+ Displaying C compiler used (with path) if autodetection
was used and -info enabled.
! Workaround added to MemoLine() sometimes returning empty
string for the last line.
* source/rtl/tget.prg
% Minor opt.
* external/sqlite3/sqlite3.c
* external/sqlite3/sqlite3.h
* sqlite upgraded to 3.6.14.1 (from 3.6.11)
* external/sqlite3/Makefile
+ Enabled for bcc compiler. Seems to compile fine now.
; NOTE: poccarm still fails, even with pocc6.
* contrib/hbwin/win_reg.prg
* contrib/hbwin/win_regc.c
* Cleanups: Documenting params, changing default, using SWITCH,
HKEY to HKCU (from HKLM) to be friendly with restricted user
situations (code may become incompatible), removed unused params,
changed return values to logical, more consistently filling params
returned by ref, fixed hkResult usage, fixed hbResult to use real
pointer type, minor opts.
Some of these changes may create incompatibility if:
- no hkey is passed, since the default has changed.
- using win_reg*() functions directly, since return value and
hbResult type has changed.
! Fixed potential GPF is non-string was passed for string params.
* contrib/hbwin/tests/testreg.prg
+ Added registry write test.
* utils/hbmk2/hbmk2.prg
* utils/hbi18n/hbi18n.prg
* utils/hbrun/hbrun.prg
* Minor opt.
* harbour/contrib/gtwvg/wvgsink.c
* harbour/contrib/gtwvg/wvgax.c
! Fixes to newer OLE implementation.
Thanks to Mindaugus and Przemek for doing all the spadework.
Now I can receive events as was doing before, fantastic.
* utils/hbmk2/hbmk2.prg
+ Changed default workdir to use output binary dir as a base.
! Fixed -instpath and -compr option not working with -hblib and -hbdyn modes.
* utils/hbmk2/hbmk2.hu_HU.po
! Cleaned.
* utils/hbmk2/hbmk2.prg
! Fixed setup of .hbl input codepages.
+ Added support to specify output CPs for Windows/DOS/OS2
and *nix systems.
; TOFIX: This isn't enough as f.e. all my *nixes require
UTF-8 output which we currently cannot provide in a
transparent way, so accented chars are all broken
on these platforms. I could hack it around by
calling HB_STRTOUTF8() on all strings going to
output when *nix is detected, but if possible it'd
better to do it transparently.
* utils/hbmk2/hbmk2.hu_HU.po
* Converted to ISO CP from 852.
* utils/hbmk2/hbmk2.prg
! Fixed handling of self-detected name inducted automatic
options (like -xhb when xhbmk2 is used) after adding
multitarget support.
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/hbmk2.hu_HU.po
* Minor cleanup to a few texts.
! Fixed doing nothing for single target cmdlines after latest commit.
+ Added dir/path inheritance of .hbm file path to more options
(-hbl, -po, -o, -L, -instpath, -incpath, -incpathtry, -i, -workdir,
-vcshead, -tshead, *.hbl + .hbp equivalents.)
+ Added dir support for VCS ID readout.
* utils/hbmk2/hbmk2.pt_BR.po
! Tabs -> Spaces
* utils/hbmk2/hbmk2.prg
+ Added experimental support for multitarget command lines.
The final usage may be changed.
There are two ways to do multitarget hbmk2 sessions:
1.) hbmk2 [<common_params1>] target1.hbt [<common_params2>] target2.hbt [<common_params3>]
where .hbt is an .hbm file just with an .hbt extension.
Examples:
hbmk2 mylib1.hbt mylib2.hbt myapp.hbt
hbmk2 -trace -pause mylib1.hbt mylib2.hbt myapp.hbt -beep
2.) hbmk2 [<common_params1>] -target <target1_params> -target <target2_params> [-notarget <common_params2>]
Examples:
hbmk2 -target hello1.prg -target hello2.prg
hbmk2 -trace -target hello1.prg -target hello2.prg
hbmk2 -trace -target hello1.prg -target hello2.prg -notarget -beep
! Fixed not expanding wildcards in .hbm files on *nix systems.
* contrib/xhb/xhbcomp.prg
* Minor formatting.
* bin/hb-func.sh
! HB_USER_LIBS_DEF -> CC_HB_USER_LIBS
; QUESTION: Is it a problem to move these to HB_ namespace?
* source/rtl/lang.c
! Fixed to return language IDs with consistent '-' separators
instead of '_'. We may change this to consistent '_', if
we decide it's better.
* harbour/source/rtl/filesys.c
! fixed OpenWatcom Linux builds which does not support utimes() yet.
* harbour/contrib/rddads/ads1.c
* pacified two BCC warnings
* utils/hbmk2/hbmk2.prg
! Just added bcc hack fixed to not cause problems when
bcc is explicitly selected, but the compiler cannot be
detected in path.
* utils/hbmk2/hbmk2.prg
+ Added automatic bcc configuration hack to add PSDK dir to
the libpath list. This is to fix bcc installations where
this isn't done in bcc configuration itself in bcc32.cfg,
ilink32.cfg. PSDK dir is required for hbmk2 because most
libs on the standard hbmk2 list of Windows system libs
(like winspool) included in link process are stored in
this subdir. It's still recommended to do this tweak in
local bcc environment.
; Please test it.
* utils/hbmk2/examples/contribf.hbp
+ Added hbqt.
* harbour/contrib/hbwin/hbwinole.h
* harbour/contrib/hbwin/olecore.c
+ functions hb_oleParam(), hb_oleItemToVariant() made public
* harbour/contrib/rddsql/hbrddsql.h
* harbour/contrib/rddsql/sqlbase.c
+ added NULL SDD driver. It allows to use SQLBASE, SQLMIX RDD
without any real SDD driver. It could be usefull to implement
memory/array RDD
* unspecified SDD methods are "inherited" from NULL SDD
+ harbour/contrib/rddsql/tests/arrayrdd.prg
+ "Array RDD" example added
* harbour/contrib/rddsql/sddfb/fbirddd.c
* harbour/contrib/rddsql/sddmy/mysqldd.c
* harbour/contrib/rddsql/sddodbc/odbcdd.c
* harbour/contrib/rddsql/sddpg/pgsqldd.c
* deleted empty or default SDD methods. They are inherited from
NULL SDD now
* harbour/contrib/rddsql/sddodbc/tests/test1.prg
+ added svn:keywords header
* extended to show SQLMIX index features
* utils/hbmk2/hbmk2.prg
! Fix to prev commit.
! Fix ignoring .po input without a language macro when
checking .hbl dependencies.
! Cosmetic fix to some i18n related outputs.
! Fixed recent RTE when generating .hbl.
* utils/hbmk2/hbmk2.prg
! Fixed -beep to work on all build failures.
+ Linking gtwin/trm/dos/os2 as non-default GT for -pause
support (gtcgi doesn't support Inkey(0)).
+ Added -pause option to force a pause on exit in case of
any error. This only works with alternate GTs above.
! Added missing -beep from help screen.
* source/rtl/hbi18n2.prg
! Minor fix to change dir separators to "/" so that
there won't be multiple entries for the same file
in mixed environments.
(like: '#: src\file.prg:1022 src/file.prg:1022')
+ utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hbm
+ Added Portuguese translation. Work of Vailton Renato. Thanks!
; NOTE: Quite some strings has changed since version, so the .po
file by now needs an update from source plus some parts
translated.
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
* Minor updates.