+ contrib/hbnetio/utils/hbnetio/netioeng.prg
* contrib/hbnetio/utils/hbnetio/hbnetio.hbp
* contrib/hbnetio/utils/hbnetio/hbnetioc.hbp
* contrib/hbnetio/utils/hbnetio/netiocon.prg
* contrib/hbnetio/utils/hbnetio/netiocmd.prg
+ netio management client-side command handling moved to
a separate module and rewritten to act as a command
handler plugin. This makes it possible to move the
whole logic inside console hosts, f.e. hbrun.
* config/global.mk
* src/dynlib/Makefile
+ src/dynlib/2nd
+ src/dynlib/2nd/Makefile
* Changed so that _HB_BUILD_DYN_ST=yes now creates a separate,
secondary dll in ST mode, called harbourst/harbours.
* contrib/hbxbp/hbpprocess.prg
! Reworked: how command line parameters are passed to the appln.
* contrib/hbide/idebrowse.prg
! Fixed: Goto() usage was broken in ideDBU ( result of strict
parameter checking introduced lately ).
* contrib/hbide/ideharbourhelp.prg
! Tried: yet another time to cover case sensitivity in
"Document Viewer".
* contrib/hbide/idetools.prg
! Tweaked: to pass application parameters for new protocol.
* src/rtl/browse.prg
! Reversed some of the changes in previous commit.
Still I am trying to understand how a record can be
edited without RLock() ( only for lAppend == TRUE, it is OK ).
* harbour/src/rtl/hbsocket.c
* added HB_HAS_GETHOSTBYADDR to control access to gethostbyname()
function
* added alternative implementation of hb_socketGetHostName()
function when gethostbyname() is not available
* contrib/hbqt/qtcore/hbqt_init.cpp
* contrib/hbqt/qtgui/hbqt_init.cpp
* contrib/hbqt/qtnetwork/hbqt_init.cpp
! Fixed: to return GC Collectible pointers instead of raw ones.
TODO: add 3 more classes which are required to handle
Qt events. These methods will not work until then.
* contrib/hbqt/qtgui/qth/QBitmap.qth
* contrib/hbqt/qtgui/qth/QColor.qth
* contrib/hbqt/qtgui/qth/QComboBox.qth
% Cleaned: constructor functions were left in <Proto> section,
a result of an earlier version. Thanks Francessco to point it out.
* contrib/hbqt/qtcore/hbqt_pointer.cpp
* contrib/hbqt/qtcore/hbqt.h
+ Added int hbqt_IsObjectType( int iParam, int iType ).
[Francesco Perillo - with some of my mods]
* src/rtl/base64d.c
! Fixed TOFIX to handle too large result. Now it will RTE.
Please check me.
* src/rtl/hbrandom.c
* Formatting.
* src/rtl/space.c
* Fixed commented call.
* harbour/src/rtl/base64d.c
! fixed destination buffer size calculation - it was too small
! fixed to work with platform/compilers where 'char' is unsigned type.
Please NEVER use 'char' type in math calculation without explicit
'signed' or 'unsigned' specifier. On some platforms (i,e. MIPS Linux
ports or in all OpenWatcom builds) 'char' is unsigned type. I once
cleaned whole code and fixed all wrong places. I do not want to
repeat it - sometimes is hard to locate problematic places.
! fixed index to ASCII decode table verification - '{' was accepted
as valid base64 char.
BTW this code works only on ASCII based machines. It's not the
one code with such limitation in Harbour SVN anyhow it would be
good to mark such limitation - maybe someone will want to port
Harbour to some IBM mainframe machines.
% removed redundant code
* src/rtl/base64d.c
! Fixed crash when empty or non-string parameter was passed to HB_BASE64DECODE().
+ tests/base64.prg
+ Added base64 test suite. [Tamas]
* utils/hbmk2/hbmk2.prg
! Fixed regression in 2011-02-10 23:45 UTC+0100 Viktor Szakats,
in making .hbmk dir hidden when converting from custom DirBuild()
to core hb_DirBuild(). Due to typo the dir was not made hidden.
! Fixed to make .hbmk hidden regardless of casing (f.e. on MS-DOS).
* src/rtl/hbfilehi.prg
! Fixed HB_PATHNORMALIZE() recent change to strip double pathseps.
It was slashing ending pathsep too, which caused hbmk2 env detection
to die and not find libs.
NOTE: HB_PATHNORMALIZE() got very inefficient after this addition,
so if I may chose to restore stable versions from hbmk2 code.
; There are at least two remaining bugs in recent changes.
* utils/hbmk2/hbmk2.prg
! Readded REQUEST HB_FSETATTR. It was used in conditional
code, so it was not linked on *nix builds, causing
failure to run postinst.hbs.
* src/rtl/hbrandom.c
* Minor formatting.
* src/rtl/base64d.c
! HB_BASE64DECODE(): Forgot to return sized buffer in recently
added C version of this function.
; Please review and/or stree-test this function.
* package/harbour.spec
* Deleted reference to harbourmt.
; QUESTION: Is this line right?
Provides: %{name} harbour lib%{name}.so
[ %{name} is also 'harbour', so 'harbour' is there twice ]
- src/dynlib/mt
* src/dynlib/Makefile
* src/vm/maindllp/dllpcode.c
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
* utils/hbmk2/hbmk2.prg
* config/postinst.hbs
* config/global.mk
* config/bin.mk
* Changed to have only one harbour dll, and this one with MT support.
This means the old MT mode dll named harbourmt/harbourm is no more
and the old ST mode dll vanished also. This will result in much
cleaner layout of Harbour binary tree, smaller distribution size,
and unambigous dll tree when linking an app with dll multiple
components (f.e. contribs).
If someone wants to build an ST mode harbour dll, she can use the
internal build-time option: _HB_BUILD_DYN_ST=yes
; Please test.
; TODO: Do a final cleanup on internal variable names to not have "ST" in them.
* contrib/make.hbs
* contrib/hbide/idemisc.prg
* contrib/hbide/idefunctions.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbrun/hbrun.prg
* config/postinst.hbs
* bin/hb3rdpat.hbs
* Using new filename handling functions from core.
% Deleted redundant local copies of these functions.
* utils/hbmk2/hbmk2.prg
+ REQUESTing new filename handling function till they are
used in hbmk2 too.
; TODO: Make the switch in hbmk2 too.
* contrib/hbmysql/hbmysql.hbc
* contrib/sddpg/sddpg.hbc
* contrib/hbpgsql/hbpgsql.hbc
* contrib/sddmy/sddmy.hbc
* contrib/hbmagic/hbmagic.hbp
* contrib/hbmagic/hbmagic.hbc
* contrib/hbfimage/hbfimage.hbc
* contrib/hbcairo/hbcairo.hbc
+ Added libpaths for darwin.
+ Added libmagic detection on darwin.
* contrib/hbgd/hbgd.hbc
! Fixed libpath option for darwin.
* utils/hbmk2/hbmk2.prg
* Add watt lib path to path list only if exists.
* Add -L and libpaths= values to path lists only if they exist.
! Fixed option order in dynlib libtool command for darwin.
* utils/hbmk2/hbmk2.prg
+ switched to use libtool for lib assembly with all darwin
compilers (was gcc only + TODO)
+ switched to use libtool for dynlib assembly with all darwin
compilers (instead of compiler)
+ Added '-flat_namespace -undefined suppress -single_module'
options for dynlib assembly. Now in sync with core build.
; Pls test. I didn't test if the created .dylibs actually work.
* contrib/hbpost.hbm
- Deleted now unecessary manual darwin dylib options.
* utils/hbmk2/hbmk2.prg
! Tweak to self name filter.
* contrib/hbpost.hbm
! Added options for darwin to make dynlib building work again
after the -hbdynvm/-hbdyn change last year.
; TODO: Move these to hbmk2. Also maybe it'd be better to
use libtool there, like in core Harbour build.
+ Added dynlib internal name and version info.
* contrib/hbodbc/hbodbc.hbc
* contrib/sddodbc/sddodbc.hbc
+ Added odbc lib name for darwin.
* harbour/contrib/hbwin/axcore.c
! fixed double binding of ax event handler with two different
OLE pointer items - it was causing accessing freed or reused
by other things memory potentially with all possible bad side
effect.
Mindaugas, please verify me but I think that you forgot to remove
the old binding when you were adding the code I proposed and you
didn't leave it intentionally. Am I right?
* contrib/hbmxml/3rd/minixml/mxml.hbp
* contrib/3rd/sqlite3/sqlite3.hbp
* contrib/hbmzip/3rd/minizip/minizip.hbp
* contrib/hblzf/3rd/liblzf/lzf.hbp
* contrib/hbxdiff/3rd/libxdiff/xdiff.hbp
* contrib/hbexpat/3rd/expat/expat.hbp
* contrib/hbbz2/3rd/bz2/bz2.hbp
* contrib/hbhpdf/3rd/libhpdf/libhpdf.hbp
! Do not create dynamic version of 3rd party dependencies hosted
locally. It should fix some problems on *nix builds with
HB_BUILD_CONTRIB_DYN=yes.
* contrib/hbrun/hbrun.hbp
+ -o option.
* utils/hbmk2/hbmk2.prg
+ Added dynlib dir + prefix to --hbinfo output.
* contrib/hbplist
- contrib/hbrun/hbrunext.hbp
+ contrib/hbrun/hbrun.prg
+ contrib/hbrun/hbrun.hbp
+ contrib/hbrun/hbrun.1
* config/postinst.hbs
- utils/hbrun
* utils/Makefile
* Moved hbrun to contrib area.
; Now it can contain any contrib libs.
* Makefile
* contrib/Makefile
+ Changed script runner tool to hbmk2 (from hbrun).
So now hbrun is not required for build process.
* utils/Makefile
* package/harbour.spec
* INSTALL
* Changed to reflect that now hbmk2 runs the build scripts.
* utils/hbmk2/hbmk2.prg
* utils/hbrun/hbrun.prg
+ Added hbrun_ProgrName() function to return runner executable name.
* utils/hbmk2/hbmk2.prg
+ Added experimental hbrun script runner "emulation" to hbmk2.
With a few differences:
- there is no interactive console
- it works only if filename with .hbs or .hrb is passed as first parameter
(which present a minor incompatibility for those using hbmk2
to compile .hbs scripts to executables)
- the default GT environment for scripts is GTCGI.
- scripts may request interactivity with HBRUN_GTINTERACTIVE()
function call. This will switch mode to GTWIN/GTTRM/GTDOS/GTOS2
depending on platform. Though interactive functions linked into
hbmk2 are very limited.
- only a limited set of functions and headers are available,
those which may be useful for cmdline apps.
(which means hbmk2 size didn't grow significantly after this
commit)
; The goal is to make it possible to replace hbrun with hbmk2
for Harbour build related scripts, and other simple user scripts.
* utils/hbrun/hbrun.prg
* Minor cleanups.
* Using HB_PROGNAME() instead of HB_ARGV( 0 )
* harbour/src/rtl/tbrowse.prg
! set default minimal number of visible rows to ::rowpos() when
::configure() method is called - clipper compatibility fix.
* contrib/hbnetio/utils/hbnetio/netiocon.prg
+ Accepting notification events coming from the server
in a separate thread, so now they are realtime-ish
(it's poll). It's little rough around the edges yet.
* contrib/hbnetio/utils/hbnetio/hbnetioc.hbp
+ Enabled MT mode also for console client.
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
+ Send out 'shutdown' notifications to mgmnt clients.
* ChangeLog
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
! Set netio root data dir to 'data' subdir by default to
avoid overwriting anything in the daemon's own
directory (f.e. its settings)
! Set netio root data dir to invalid dir name ("*?:*?:")
to prevent management clients to create any files
on server. QUESTION: Is there a better way to prevent
RDD I/O redirection for given server session?
* contrib/hbnetio/utils/hbnetioq/netiosrq.prg
! Enabled: "Stop" a connection, either via toolbar icon or
context menu on a connection row in the browser.
% Fixed: to refresh browser every 3 seconds.
* src/common/hbverdsp.c
+ Instead of adding "(UNICODE)" marker in build info for UNICODE
builds, now it will add "(WINANSI)" for non-UNICODE builds.
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
* Using more hb_StrFormat()
* contrib/hbnetio/utils/hbnetio/netiocon.prg
* Tweak to one cmd help.
* utils/hbrun/hbrun.prg
* Formatting.
* src/3rd/zlib/Makefile
! Fixed pocc64 related change in 2011-02-01 16:59 UTC+0100 Viktor Szakats
Which broke zlib in harbour dll on all win platforms.
Unfortunately pocc64 is broken (6.5 even) due to bugs in the compiler,
so I _very strongly suggest_ to take out pocc64 from tests,
but at least not use HB_BUILD_CONTRIB_DYN=yes, when building
it.
* src/rtl/base64d.c
* Copyright header tweak.