* utils/hbmk2/hbmk2.prg
+ Quite big commit aiming to clean path forming in different
situations. After this is change it should be more or less
true that internally hbmk2 always uses native path format,
it should accept _any_ format regardless of platform,
and it should convert filenames to proper format only when
calling external compiler tools, according to their specific
taste.
F.e. this should fix problems when doing Windows cross-build
on *nix systems, with watcom, or other compilers (except
mingw) which has native compiler. It should continue to
work with WINE based on compilers in similar situations.
There is one specific exception when passing around
filenames as part of options. In this case hbmk2 cannot do
too much magic, so try to avoid it.
Though I never actualluy tried this latter case.
Please test it, regressions are possible. I'd be happy to
see stress tests with passing various combination of pathseps
and watching -trace output whether everything is properly
converted to right format.
+ Will now convert filenames to Cygwin format for Cygwin
targets.
! Fixed to accept .hbi files without '@' prefix.
* config/postinst.prg
% Do not add '@' prefix when referring to .hbi files.
* src/vm/extend.c
! Fixed TRACE message of new hb_parnintdef() function.
* src/rtl/hbcomhb.c
* Minor correction to one function description in comment.
* src/rtl/hbsocket.c
* Minor formatting.
* include/hbcom.ch
+ Added comments.
* Formatting.
+ Added comment that code is used by .c code.
* contrib/hbtpathy/telepath.prg
* Rewritten to use native HB_COM*() API (instead of hbct
specific COM_() one).
+ tp_send() code rewritten to use core timeout functionality.
+ Implemented formerly disabled tp_ctrldtr() function.
(pls review it)
% FetchChars() internal function simplified.
* contrib/hbcomm/hbcomm.prg
* Rewritten to use native HB_COM*() API (instead of hbct
specific COM_() one).
* contrib/hbsms/hbsms.prg
* Rewritten to use native HB_COM*() API (instead of hbct
specific COM_() one).
* Receive code rewritten to rely on core timeout functionality
instead of rolling local implementation.
; I didn't make any tests with API converted COM code, so please
review and test these changes.
* contrib/hbtpathy/hbtpathy.hbc
* contrib/hbcomm/hbcomm.hbc
* contrib/hbsms/hbsms.hbc
- Deleted hbct dependency.
* INSTALL
* package/winuni/RELNOTES
* QT 4.6.2 -> 4.6.3
* contrib/hbtpathy/Makefile
* contrib/hbtpathy/hbtpathy.hbp
* contrib/hbtpathy/hbtpathy.hbc
* contrib/hbtpathy/telepath.ch
- contrib/hbtpathy/tpcommon.c
- contrib/hbtpathy/tpwin.c
- contrib/hbtpathy/tpos2.c
- contrib/hbtpathy/tpunix.c
- contrib/hbtpathy/tpdos.c
* contrib/hbtpathy/telepath.prg
* Changed to use hbct lib COM functions.
* Changed some misc functions to .prg from .c.
- Deleted all .c files.
; NO GUARANTEES. PLEASE TEST AND REVIEW IT. All my testing
was to make sure the lib and test app builds properly.
* contrib/hbtpathy/tests/testtp.prg
* Formatting.
* contrib/hbtpathy/telepath.prg
% Using HB_MILLISECONDS() instead of SECONDS().
! TP_RECVTO(), TP_FLUSH() fixed to honor -1 timeout.
; Please review. No tests made besides compiling and reviewing.
* contrib/hbtpathy/telepath.prg
! Fixed "midnight bug" in several TP functions having timeout option
(it was wrong in all places).
Reported by AbeB.
; Please review/test, I didn't make _any_ testing whatsoever.
* harbour/contrib/hbtpathy/telepath.prg
! fixed tp_inkey() to not freeze when called without parameter
* harbour/source/rdd/dbfntx/dbfntx1.c
* harbour/source/rdd/dbfnsx/dbfnsx1.c
* added OS/FS error codes to RTEs generated during indexing
* replaced few numeric error codes with EDBF_* macros
* contrib/hbtpathy/telepath.prg
! Fixed forming default COM port names on Windows NT
systems. (I didn't test Win9x, but I assume they work
like DOS regarding this aspect).
* contrib/hbxbp/Makefile
* contrib/gtwvg/Makefile
! Using HB_INC_DEPEND instead of modifying HB_USER_PRGFLAGS
and HB_USER_CFLAGS. Old solution wasn't good because the
new include dirs were added after central ones, so central
ones effectively masked them and wrong headers could be
picked through the build.
* config/rules.cf
+ Added HB_INC_DEPEND variable to store dirs which should
be included before central include dir.
* config/global.cf
* Small change in predefined HB_BUILD_NAMEs. Unicode 'u'
marker moved to end, C++ marked changed to 'p' (from 'x').
* contrib/rddado/rddado.hbc
* contrib/gtwvg/gtwvg.hbc
* Slash sync with other .hbc files. (forward slash is used)
* config/dos/watcom.cf
% Minor opt in operator.
* contrib/hbtpathy/telepath.ch
* contrib/hbtpathy/tests/testtp.prg
* contrib/hbtpathy/tpwin.c
* contrib/hbtpathy/tpos2.c
* contrib/hbtpathy/tpunix.c
* contrib/hbtpathy/tpdos.c
* contrib/hbtpathy/telepath.prg
+ Added self-guards to header.
! Converted all comments to ANSI C.
+ Added note to header that it's used from C code.
! Put negative macro values into parantheses.
! Fixed bad typo in test program which broke it for all platforms.
% Minor optimization to TP_REOPEN().
! Moved internal structure macros from header to .prg.
+ Added comment for FILE() usage in TP_OPEN().
! Fixed to not use FILE() to check for port existance on non-*nix
platforms. (maybe this works on OS/2 and it can be readded there,
I don't know).
! Using manifest constants instead of literals in few places.
; After these changes, hbtpathy works on Windows platform.
(made basic test only)
* contrib/hbtpathy/tpwin.c
* contrib/hbtpathy/tpos2.c
* contrib/hbtpathy/tpunix.c
* contrib/hbtpathy/telepath.prg
* contrib/hbtpathy/tpcommon.c
+ Renamed all internal functions from P_*() to __TP_*() to
comply with rest of Harbour and lessen chance of colliding
with other code. It also makes it easier to identify them
in code. I won't list this as an incompatibility as we're
talking about internal functions, so no user code is supposed
to use these.
+ Added compatibility wrappers for Telepath(y) functions:
BIN_AND(), BIN_OR(), BIN_XOR(), BIN_NOT().
* contrib/hbtpathy/Makefile
- contrib/hbtpathy/tplinux.c
+ contrib/hbtpathy/tpunix.c
* contrib/hbtpathy/tpcommon.c
* contrib/hbtpathy/tpwin.c
* contrib/hbtpathy/tpos2.c
* contrib/hbtpathy/telepath.prg
* contrib/hbtpathy/hbtpathy.hbc
+ Enabled for all *nix systems (was only linux and darwin).
I don't know if it works on all *nix systems, but it should
be our goal. We will see. Please test.
% Using HB_CRC32() in core instead of reimplementing it locally.
! P_CTRLCTS() dummy now returns proper type.
+ P_OUTFREE() implemented for Windows platforms.
+ P_ISDCD(), P_ISRI(), P_ISDSR(), P_ISCTS()
implemented for Windows platforms. (ideas taken from hbwin)
Neither of these were tested, but it's a start.
+ P_INFREE() added for Windows and OS/2.
Only clean compilation was tested.
+ TP_INFREE() added.
* Some formatting.
* contrib/hbwin/win_prt.c
+ Some extra safety.
* contrib/hbtpathy/telepath.prg
! Fixed tp_open() to not add numeric port to passed portname.
It's now only added to portname if it's not passed and default
is used. On darwin, the portname isn't necessarily ending with
a number.
* contrib/hbwin/win_tprt.prg
* contrib/hbwin/win_prt.c
+ ::Recv() got a new second parameter to return result code.
+ WIN_PORTFCN() now requires port number to be passed as 1st param.
+ WIN_PORTERROR() now requires port number to be passed as 1st param.
* Renamed function WIN_PORTFCN() to WIN_PORTFUNCLAST()
+ Fixed last port operation and last error to be stored per port
rather than in global vars. This makes it possible to use multiple
ports in parallel.
- Deleted WIN_PORTBUFFERS() which wasn't MT friendly.
+ WIN_PORTOPEN() function got enabled 6th and 7th inbuffer/outbuffer
parameters. This replaces WIN_PORTBUFFERS() function.
+ Added WIN_PORTRECV() function which is similar to WIN_PORTREAD()
but returns the result directly rather than putting it in a var
passed by reference. It accepts lenght parameter and return result
code by reference. It's a little bit more effient than WIN_PORTREAD().
% Some if/else branches swapped to make code a little smoother.
* contrib/hbwin/olecore.c
+ Attempt to add vars by reference support. Commented until
there is no test code to try it.
* Minor formatting.
* contrib/xhb/hbserv.h
* contrib/xhb/htmlform.ch
* contrib/xhb/inet.h
* contrib/xhb/hblognet.prg
* contrib/xhb/tfile.prg
* contrib/xhb/html.ch
* contrib/xhb/tedit.prg
* contrib/xhb/tframe.prg
* contrib/xhb/htjlist.prg
* contrib/xhb/xdbmodst.prg
* contrib/xhb/htmlclrs.ch
* contrib/xhb/thtm.prg
* contrib/xhb/hterrsys.prg
* contrib/xhb/tcgi.prg
* contrib/xhb/regexrpl.prg
* contrib/xhb/hbserv.ch
* contrib/xhb/ttable.prg
* contrib/xhb/hjwindow.prg
* contrib/xhb/hbserv.c
* contrib/xhb/htmutil.prg
* Header formatting.
; NOTE: I noticed some xhb components have pure GPL license (recently
added CGI parts), plus some other use some sort of xhb specific
modification of original Harbour + exception license. This
contains some sentence which doesn't seem to make much sense:
"This exception applies only to the code released with this xHarbour explicit exception."
FYI.
* contrib/hbtpathy/telepath.prg
* utils/hbmk2/hbmk2.prg
* Minor formatting, comments.
* contrib/hbtpathy/tpwin.c
* contrib/hbtpathy/ChangeLog
* contrib/hbtpathy/telepath.prg
* Formatting.
+ Added some dummy functions to at least make the win version link
properly. It didn't work for me though.
* contrib/hbwin/win_tprt.prg
* contrib/hbwin/win_prt.c
* Formatting.
* Added Hungarian notation to variables.
! Tweaked a few types.
+ Extended number of ports to 32 (from 16). F.e. on my system
the Nokia phone gets installed on COM22.
; TODO: Rename functions/class to comply with rest of lib.
* contrib/hbtpathy/telepath.prg
! Fixed to use __PLATFORM__UNIX instead of __PLATFORM__LINUX.
! Fixed to check for string lengths instead of using Empty().
This way full whitespace data is also handled now.
* source/rtl/memoedit.prg
* Minor formatting.
* harbour/source/rtl/hbntos.c
* harbour/source/rtl/hbrandom.c
* removed dummy spaces
* harbour/source/rtl/filesys.c
* updated HB_TRACE messages
* harbour/source/rdd/dbfntx/dbfntx1.c
* harbour/source/rdd/dbfnsx/dbfnsx1.c
* return pure index name without path and extension for DBOI_BAGNAME just
like DBFCDX does. It's not Clipper compatible but looks that people
expects ordBagName() behavior implemented in COMIX CDX driver (CL53).
Full index name can be accessed by DBOI_FULLPATH.
If you think it's wrong and we should keep CL52 DBFNTX behavior then
I can revert it but I will want to also change DBFCDX to keep
ordBagName() compatible core RDDs.
Please let me know your preferences.
* harbour/contrib/hbtpathy/telepath.prg
! replaced ThreadSleep() with hb_idleSleep()
* source/pp/ppcore.c
* doc/whatsnew.txt
! __PLATFORM__* macros now all #defined in full uppercase.
F.e.:
__PLATFORM__Windows becomes __PLATFORM_WINDOWS
__PLATFORM__Linux becomes __PLATFORM__LINUX
INCOMPATIBLE.
* contrib/xhb/hbcompat.ch
+ Added compatibility #defines for __PLATFORM__* macros.
* include/hbdefs.h
! Minor formatting.
* harbour-ce-spec
* harbour-w32-spec
* make_xmingw.sh
* make_xmingwce.sh
* source/debug/debugger.prg
* contrib/hbtpathy/telepath.prg
* contrib/hbw32/w32_tole.prg
* contrib/hbw32/w32_tprn.prg
* utils/hbdot/hbdot.prg
* utils/hbmake/hbmake.prg
* Changed __PLATFORM__* #define according to latest changes.
; NOTE: I find this kind of compile-time platform dependency
quite wrong in an normal application, and we should
definitely avoid it in core Harbour.
In core Harbour there is one place where it would
better be eliminated, and in order to do this, we'd
need to have a filename equality comparison FS
function. Maybe we already have one, I don't know.