* contrib/hbwin/wapi_shellapi.c
! replaced struct = { 0 } with memset( &struct, 0, sizeof( struct ) )
Such BCC syntax does not clear the whole structure body in most of
other C compilers.
* src/pp/hbpp.c
! fixed compilation for compilers using "i64" to format long long numbers,
thanks to Toninho for the information.
* include/hbapi.h
* src/vm/cmdarg.c
! changed returned type in hb_verSvnID() form int to HB_MAXINT
* src/nortl/nortl.c
! fixed void* pointer incrementation
! pacified warnings
* src/rdd/dbcmd.c
* accept NIL value in hb_FieldPut() according to Aleksander recommendation
* include/hbapi.h
* src/common/hbver.c
* src/main/harbour.c
* src/pp/hbpp.c
* src/rtl/version.c
* src/vm/cmdarg.c
! fixed integer overflow in revision number calculated from
the last ChangeLog entry date
* include/harbour.hbx
* src/harbour.def
* src/rdd/dbcmd.c
+ added two new functions:
hb_FieldGet( <cFieldName> | <nFieldPos> )
-> <xFieldValue> | NIL
hb_FieldPut( <cFieldName> | <nFieldPos>, <xFieldValue> )
-> <xFieldValue> | NIL
They works like FieldGet() and FieldPut() but allows to use field
name instead of field index.
* include/hbvm.h
* include/harbour.hbx
* src/harbour.def
* src/vm/hvm.c
+ added new C function:
extern HB_EXPORT HB_BOOL hb_vmSetKeyPool( HB_BOOL fEnable );
It allows to disable keyboard pooling by GT driver in main HVM loop.
It's important in programs which mix GT terminal with GUI library
which use common event loop. Many GUI objects are not reentrant
safe and activating event loop during big changes may cause crash.
Such things can happen in applications which try to mix HBQT
and GTQTC. To avoid such problems before PRG code is called it's
enough to disable keyboard pooling in main HVM loop, eg.
if( hb_vmRequestReenter() )
{
HB_BOOL fKeyPool = hb_vmSetKeyPool( HB_FALSE );
hb_vmPushEvalSym();
hb_vmPush( pBlockItm );
hb_vmSend( 0 );
hb_vmSetKeyPool( fKeyPool );
hb_vmRequestRestore();
}
+ added new PRG function:
__vmKeyPool( [<fEnable>] ) -> <fPrevState>
It's PRG interface to above C function. If application uses GT driver
and GUI library using the same event loop and such GUI library does not
disable keyboard pooling in main HVM loop before PRG code is activated
then it's enough to call this function at the beginning of application,
eg.
PROCEDURE INIT Clip()
__vmKeyPool( .f. )
RETURN
With above peace of code you can mix HBQT or other QT wrapper with GTQTC.
+ src/rtl/vfilehi.prg
* src/rtl/Makefile
* src/harbour.def
* include/harbour.hbx
+ added FILE API counterparts to hb_DirBuild() and hb_FNameExists()
hb_vfDirBuild( <cDir> ) -> <lSuccess>
hb_vfDirUnbuild( <cDir> ) -> <lSuccess>
hb_vfNameExists( <cName> ) -> <lExists>
; their implementations are imported from 3.4
https://github.com/vszakats/hb/blob/master/src/rtl/hbfilehi.prg
but were renamed to fit in the hb_vf* namespace
* src/rtl/hbfilehi.prg
* use hb_LeftEq() instead of Left() ==
; partial merge of 3.4
2015-07-27 14:26 UTC+0200 Viktor Szakats
! fix several sloppy checks where Empty() were
used on strings while in fact a zero length
check would have been correct.
; Empty() is a "weasel-word" when used on strings,
should be used carefully and sparingly.
* ChangeLog.txt
% avoid spaces before EOLs
* src/rtl/hbfilehi.prg
* hb_DirBuild() will now honor UNC "\\server\share\dir\tree" parameter
on Windows and correctly create specified "\dir\tree" on remote
server. If your code used a malformed "\\local\path" a regression
in .prg code may happen on Windows. Previously a "\local\path"
folder was created on current drive, as if the UNC specifier was
omitted. It was more or less consistent with other platforms but
not expected for this platform. Spotted by Maurizio la Cecilia (#233)
[INCOMPATIBLE]
* contrib/hbdoc/hbdoc.prg
* contrib/hbformat/utils/hbformat.prg
* contrib/hbnetio/utils/hbnetio/hbnetio.prg
* package/harbour.mft
* package/harbour.rc
* src/compiler/hbusage.c
* utils/hbi18n/hbi18n.prg
* utils/hbtest/hbtest.prg
* bumped copyright year to 2021
* src/rtl/arc4.c
* updated to the current state of glibc, versions >= 2.30 have
no sysctl(). Should fix build issues on current Linux distros
like Fedora 33, etc.
* src/rtl/filesys.c
! use _exit() instead of exit() in forked process inside hb_fsPOpen().
I've noticed that programs linked with QT 5.9.5 does not cleanly ends
when exit() is used probably due to atexit() procedures.
* use EXIT_SUCCESS and EXIT_FAILURE macros
* src/rtl/gtcrs/gtcrs.c
* src/rtl/hbproces.c
* use _exit() instead of exit() in forked processes when exec*() fails
* use EXIT_SUCCESS and EXIT_FAILURE macros
* src/rtl/gtchrmap.c
* use 'return 0' instead of 'exit( 0 )' in commented debug code
* contrib/gtqtc/gtqtc.hbp
* added default Qt5 path in Ubuntu64
* debian/compat
* changed compatibility level from 5 to 9
* src/rdd/workarea.c
! do not use casting to functions with incompatible parameters.
Such casting does not work with some ABIs, i.e. when pascal
calling convention is used and called function should clean
parameters from the stack.
This modification should also pacify warnings generated by
recent GCC versions.
* contrib/hbct/dattime2.c
% minor optimization
* src/rdd/dbsql.c
; added somment with syntax info
* include/inkey.ch
* src/rtl/hbgtcore.c
+ added support for mouse wheel left and right events to base GT code
* src/vm/dynsym.c
* src/vm/task.c
! pacified warnings
* src/vm/hashfunc.c
! fixed possible GPF in hb_HCopy() and hb_HMerge() functions when source
and destinnation is the same hash array.
* config/linux/clang.mk
! fixed rule for dynamic library
* src/3rd/png/Makefile
+ added -DPNG_ARM_NEON_OPT=0 to build flags
* contrib/3rd/sqlite3/sqlite3.c
* contrib/3rd/sqlite3/sqlite3.diff
! pacified warning
* contrib/gtwvg/gtwvgd.c
* contrib/gtwvg/wvgwing.c
! fixed missing break/return in case statements - please verify it.
* contrib/hbct/dattime3.c
* added #define _DEFAULT_SOURCE necessay in new Linux distors
* contrib/hblzf/3rd/liblzf/liblzf.diff
* contrib/hblzf/3rd/liblzf/lzfP.h
* do not use nested #define in #if statements - some C compilers do not
support it
* contrib/hbssl/bio.c
! tuned #if condition
* contrib/hbmisc/hbeditc.c
* simpliefied for condition and pacified warning
* contrib/hbodbc/hbodbc.hbp
* contrib/sddodbc/sddodbc.hbp
+ added check for iodbc library
* utils/hbmk2/hbmk2.prg
+ added support for clang in android builds
* include/hbdefs.h
+ added check for __BYTE_ORDER__ macro used in some new lib C
implementations
* include/hbapi.h
* include/hbdefs.h
* include/hbstack.h
* include/hbvmpub.h
* src/vm/classes.c
* src/vm/dynsym.c
* src/vm/estack.c
* src/vm/memvars.c
+ extended the size of dynamic symbol table from 65535 to 4294967295.
Adopting class code I decided to keep current algorithm of method indexes
hashing with only some minor modifications. It's very fast anyhow it may
cause noticeable (though static) quite big memory allocation for class
definitions in applications using millions of symbols and which increase
dynamic symbol table at runtime loading new classes dynamically form .hrb,
.dll, .so or other dynamic libraries supported by Harbour. It's random
and rather impossible to exploit situation in real life anyhow I cannot
exclude it so I'd like to report it in ChangeLog. The solution is very
simple, i.e. it's enough to use classic divide et impera algorithm using
symbol numbers to find method definition anyhow it will be slower then
current one and address only very seldom hypothetical situations so I
decided to not implement it. Such static memory cost begins to be
completely unimportant in the world of 64-bit architectures and extremely
big memory address space.
The modification was sponsored by TRES company.
* src/vm/estack.c
! fixed __mvClear() in MT builds - due to stupid typo GetList variable
was removed in MT programs by CLEAR MEMORY command (__mvClear())
So far noone reported it and I've found it analyzing the code before
increasing symbol table size.
* contrib/hbwin/hbolesrv.c
* updated for new size of dynamic symbol table
* src/lang/l_de.c
* src/lang/l_de_at.c
+ added German translations of error messages contributed
by DF7BE - Wilfried Brunken. Contents have been slightly
revised by Jan Fornoff.
+ src/codepage/cpde858.c
* src/codepage/Makefile
* include/hbcpage.hbx
* src/harbour.def
+ added codepage DE858, it is essentially DE850 but with EURO SIGN
(U+20AC) at position 0xD5 instead of Turkish dotless-i (U+0131)
Issue #201
* src/vm/fm.c
* OpenWatcom remaining pragmas related to 201 warning (unreachable code)
assigned to C mode (wcc386) build only - issue #202
* src/vm/fm.c
* src/macro/macro.y
* src/macro/macro.yyc
! guarded more C++ mode only pragmas for OpenWatcom. Issue #202
* utils/hbmk2/hbmk2.prg
! reverted C++ check
* config/dos/watcom.mk
* config/linux/watcom.mk
* config/os2/watcom.mk
* config/win/watcom.mk
* src/compiler/harbour.y
* src/compiler/harbour.yyc
* utils/hbmk2/hbmk2.prg
! fix OpenWatcom disabled warning listings, numeric specifiers have
different meanings in C (wcc386) and C++ mode (wpp386) compiler
executables. "-wcd201" - not fully sure about it, is now assigned
to C mode: "unreachable code". References issue #202.
* ChangeLog.txt
! fix UTF-8 char broken by Maurizio
* src/rtl/listbox.prg
! fix listbox scroll bar position calculation to not rely on
default Cl*pper compatible division by zero error handler.
Thanks to tarpauwatratar for the report and fix suggestion
on the developers list.
* contrib/hbdoc/hbdoc.prg
* contrib/hbformat/utils/hbformat.prg
* contrib/hbnetio/utils/hbnetio/hbnetio.prg
* package/harbour.mft
* package/harbour.rc
* src/compiler/hbusage.c
* utils/hbi18n/hbi18n.prg
* utils/hbtest/hbtest.prg
* bumped copyright year to 2020
* ChangeLog.txt
* function name typo + file case corrected
* src/rtl/gtwin/gtwin.c
* src/rtl/gtwvt/gtwvt.c
! hopefully make left ALT+[Y/Z] WM_SYSCHAR values handling aware
of QWERTZ layout. Should fix issues with Serbian Latin and similar
keyboards, while still retain the original fix for Greek layout.
References:
2016-07-04 19:01 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
8465bce36b
* contrib/hbformat/hbfmtcls.prg
! many fixes as suggested by Viktor Szakats and already applied to
his 3.4 fork
many fixes derived by usergroup threads
(fixed formatting in comments, codeblocks, operators, etc.)
! fixed case of unknown function as in pull request of Niko (nicolasrod)
https://github.com/harbour/core/pull/139
* contrib/hbformat/utils/hbformat.prg
* imported some enhancements from Viktor Szakats 3.4 fork:
. use hb_leftEq(), hb_vf*() functions where possible
. localization of message text
* contrib/hbwin/hbwin.hbx
* contrib/hbwin/wapi_shellapi.c
+ added the function wapi_ShellExecuteWait()
code by Antonino Perricone changed by me to be independent of FiveWin
https://groups.google.com/d/msg/harbour-users/w-fOOaC1M_g/K8B8jHgFCQAJ
Syntax:
wapi_ShellExecuteWait([<hWnd>], [<cOperation>], [<cFile>], [<cParameters>],
[<cWorkDirectory>], [<nShowCmd>]) ? nResult
The function acts as wapi_ShelleExecute() but it waits for the completion
before returning
* src/rtl/tmenusys.prg
* forced the menu system to not close current popup after menu action
suggestion by Mario Wan Stadnik, see at:
https://groups.google.com/d/topic/harbour-users/EEv1bKjci-Y/discussion
+ src/codepage/l_ee.h
+ src/codepage/l_lv.h
+ once again, sorry! actually those files were missing from the
previous
commit - instead of being moved - due to git kludges
* src/common/hbverdsp.c
* src/nortl/nortl.c
* use HB_MEM_STATISTICS instead of HB_MEM_USEDMAX to check if memory
statistic module is enabled in harbour compiler -build message
* include/dbinfo.ch
* src/rdd/dbf1.c
+ added DB_SETHEADER_EOL flag, it's used to force setting EOL marker
when header is written. In Harbour's DBF* RDDs is set in CLOSE()
method so just like in Clipper when DBF is closed and header has to
be updated the EOL() marker is set.
As side effect reducing header updates to minimal level (in such
case DBF header is not updated after APPEND what is safe for Harbour,
Clipper and compatible RDDs because they use file size to calculate
number of records but some other DBF drivers may be confused)
increase the APPEND speed and also forces EOL setting in all cases
when CLOSE() method is called. Header updates can be reduce to minimal
level by:
hb_rddInfo( RDDI_SETHEADER, DB_SETHEADER_MINIMAL )
* src/rdd/usrrdd/usrrdd.c
! fixed GPF in UsrRDD redirector for DROP(), EXISTS() and RENAME() methods
* src/vm/cmdarg.c
* use HB_MEM_STATISTICS instead of HB_MEM_USEDMAX to check if memory
statistic module is enabled in //info message
* bin/commit.hb
! fixed UTC offset formatting
* contrib/hbwin/win_os.prg
* updated win_osNetRegOk() for modern MS-Windows versions:
- on Win7 and upper set
System\CurrentControlSet\Services\LanmanServer\Parameters\DisableLeasing
to disable opportunistic locks.
- do not force SMB1 to disable oplocks on Win7 and upper - new MS-Win10
does not support SMB1 at all so this setting on the server with
such system completely disables SMB network and forcing SMB1 on the
client side blocks access to new Win10 servers.
Warning! this setting is still activated on Vista so it cannot
connect work with new Win10 but I do not know any other
working method to disable oplocks in Windows Vista.
* synced with Viktor's branch
* contrib/xhb/hbserv.c
! added missing return
* include/harbour.hbx
* src/harbour.def
* src/rtl/version.c
+ added new PRG functions:
hb_osIsWin7(), hb_osIsWin8(), hb_osIsWin81(), hb_osIsWin10()
* src/rtl/gttrm/gttrm.c
+ added autodetection for few other XTerm compatible terminals
+ respect color extension in TERM name of all XTerm compatible
terminals
* utils/hbmk2/hbmk2.prg
+ added support for -cpp=isoXX borowed from Viktor's branch
* contrib/gtqtc/gtqtc.hbc
* contrib/gtqtc/gtqtc.hbp
* use -cpp=iso11 required for QT 5.7.0 or upper
* extended QT detection and partial syncing with Viktor's branch
* README.md
* verified links to referenced libraries, go https where applicable.
Thanks to Pawel Wojciechowski for the location of ADS client
library.
* src/rtl/arc4.c
! fix builds on Alpine Linux and possibly others using musl libc,
which in turn doesn't expose deprecated sysctl() anymore.
* contrib/hbdoc/hbdoc.prg
* contrib/hbformat/utils/hbformat.prg
* contrib/hbnetio/utils/hbnetio/hbnetio.prg
* package/harbour.mft
* package/harbour.rc
* src/compiler/hbusage.c
* utils/hbi18n/hbi18n.prg
* utils/hbtest/hbtest.prg
* bumped copyright year to 2019
* include/harbour.hbx
* include/hbchksum.h
* src/harbour.def
* src/rtl/hbmd5.c
+ added new C function
void hb_hmac_md5( const void * key, HB_SIZE nKeyLen,
const void * message, HB_SIZE nMsgLen,
char * digest );
+ added new PRG function
HB_HMAC_MD5( <cMessage>, <cKey> ) -> <cMAC>
; HMAC MD5 is used in some authentication methods i.e. CRAM-MD5
authentication in SMTP protocol
* src/rtl/gttrm/gttrm.c
+ enable extended XTERM colors automatically when xterm-16color,
xterm-256color, xterm+256color, xterm-88color, rxvt-16color,
rxvt-256color, rxvt-98color or putty terminal is detected
+ added support for HB_GTI_SCREENDEPTH
* contrib/gtqtc/gtqtc1.cpp
+ set clipboard data also into selection buffer on platforms which
support it
+ when main clipboard buffer is empty retrieve clipboard data from
selection buffer and if it's empty too from find buffer
* include/harbour.hbx
* src/harbour.def
* src/vm/memvars.c
+ added new PRG function
__mvGetDef( <cMemvar> [, <xDefault> ] ) -> <xValue>
it works in similar way to __mvGet() but if <cMemvar> does
not exist then it returns <xDefault> or NIL instead of RTE
* contrib/hbwin/hbwin.hbx
+ added missing declarations for win_osIs10() and win_osIs81()
* contrib/hbssl/ssl.c
! fixed compilation with OpenSSL < 0.9.8k
* contrib/sddodbc/core.c
* pacified warning
* contrib/xhb/hbxml.c
* contrib/xhb/hbxml.h
! fixed CDATA terminator, it should be "]]>" instead of " ]]>"
+ added support for HBXML_STYLE_NONEWLINE flag
* src/3rd/pcre/Makefile
! typo wince -> wce
* src/main/Makefile
* use harbour.rc only in MS-Windows builds - it fixes OS2 OpenWatcom
builds
* config/global.mk
! in DOS builds check if the 'uname' exists before running it
* include/hbapigt.h
* include/hbgtcore.h
* src/rtl/hbgtcore.c
* src/rtl/inkey.c
* src/rtl/inkeyapi.c
* contrib/xhb/xhbfunc.c
+ added 3-rd parameter to hb_inkeySetText() function. When this parameter
is true then ';' is not translated to Chr( 13 ) but DOS and UNIX EOLs
are translated to Chr( 13 )
+ added logical parameter to HB_GTI_CLIPBOARDPASTE which allows to set
text without ';' translation but with platform independent EOLs
* src/rtl/memoedit.prg
* utils/hbmk2/hbmk2.prg
* contrib/hbnetio/utils/hbnetio/_console.prg
* extras/dbu/dbu52.patch
* extras/dbu/dbu53.patch
* use hb_gtInfo( HB_GTI_CLIPBOARDPASTE, .T. ) instead of
hb_gtInfo( HB_GTI_CLIPBOARDPASTE ) for pasting data from clipboard
with platform independent EOLs and ';' characters
* contrib/hbssl/hbssl.hbx
* contrib/hbssl/ssl.c
+ Added function SSL_set_tlsext_host_name() which is needed to access
a virtual host when using HTTPS.
See https://en.wikipedia.org/wiki/Server_Name_Indication
+ Added function SSL_set_verify().
* src/rtl/fstemp.c
! hb_fsTempName() was not returning a valid temp name on OS/2
* include/hbapi.h
* src/common/hbver.c
* src/harbour.def
* contrib/hbwin/win_osc.c
* synced Windows version detection code with Viktor's work in 3.4
* src/main/Makefile
+ src/main/harbour.rc
* include Windows manifest in standalone compiler - "harbour.exe /build"
should now correctly report Windows 10. "yourapp.exe //build" plus
in-app results still depend on manual manifest inclusion within .rc
* README.md
* config/global.mk
* contrib/gtwvw/doc/gtwvw.txt
* contrib/hbwin/tests/ole.prg
* contrib/hbzebra/tests/cairo.prg
* contrib/hbzebra/tests/harupdf.prg
* contrib/hbzebra/tests/wingdi.prg
* package/harbour-wce.spec.in
* package/harbour-win.spec.in
* package/harbour.rb
* package/harbour.spec
* package/mpkg_win.nsi
* package/winuni/mpkg_win_uni.nsi
* src/3rd/zlib/ChangeLog.txt
* src/compiler/hbusage.c
* src/pp/hbpp.c
* tests/html.prg
* changed Harbour Project website URL references to
https://harbour.github.io/
This change is very symbolic mark of time passing, but it had to be
done. Original harbour-project.org domain went out from reach
together with Phil Barnett passing away on April 16, 2015.
Respect Phil, RIP.
Phil's efforts are directly tied to The Harbour Project origins.
To memorize him, please take a tour to archived The Oasis
https://harbour.github.io/the-oasis/
* include/hbapiitm.h
* src/rtl/hbdef.c
* src/vm/itemapi.c
* src/harbour.def
+ added new public C function
HB_BOOL hb_itemTypeCmp( PHB_ITEM pItem1, PHB_ITEM pItem2 );
which uses low level item type comparison code taken from hb_default()
and hb_defaultValue() PRG functions
* include/harbour.hbx
* src/harbour.def
* src/vm/hashfunc.c
+ added new PRG function
hb_HSetDef( <hVal>, <xKey> [, <xDefVal> ] )
it checks if <xKey> exists and if not then adds it to hash array
and optionally sets key value to <xDefVal> otherwise (the key
exists in hash array) and <xDefVal> is given then it checks if
the type of key's value is compatible with <xDefVal> and if not
then replaces key's value with <xDefVal>.
In other words it's combination of hb_HGetDef() and hb_default()
and works like this PRG code:
FUNCTION hb_HSetDef( hVal, xKey, xDefVal )
IF xKey $ hVal
hb_default( @hVal[ xKey ], xDefVal )
ELSE
hVal[ xKey ] := xDefVal
ENDIF
RETURN hVal
but much faster.
* src/rtl/dirscan.prg
* remove READONLY attribute from deleted directories.
Be careful. Now this function allows to recursively remove
all directories even if they have READONLY attribute.
* config/darwin/clang.mk
* config/darwin/gcc.mk
* config/darwin/global.mk
* config/darwin/icc.mk
* config/darwin/libs.mk
* utils/hbmk2/hbmk2.prg
* synced with Viktor's modifications in 3.4 branch:
; 2017-11-11 13:14 UTC Viktor Szakats:
* switch to call the C compiler to link dynamic libs on darwin,
which is the recommended way to do this, as suggested by Apple.
This also aligns the platform better with other *nix platforms.
'libtool' was used before, but that started having intermittent
issues around Sierra (mitigated by disabling parallel build),
which returned and got worse in High Sierra (with no remedy).
The symptom was 'ld: file not found: ' errors with the filename
not shown or appearing as garbage, then a 'libtool: internal link
edit command failed'. This was reported and will be fixed in a
future Xcode release.
Ref: Apple Radar 34944562
* config/global.mk
* config/rules.mk
+ added new user build envvar HB_USER_DCFLAGS
It allows to set C compiler parameters to compile .c code for
dynamic libraries.
* src/rtl/hbsocket.c
! fixed fcntl(F_SETFL) 3-rd parameter in hb_socketSetBlockingIO(),
By mistake I used long instead of int. it created problem on big
endian 64 bit machines.
* include/hbgtcore.h
* src/rtl/hbgtcore.c
+ added new C functions for GT programmers:
void hb_gt_BaseUnlock( PHB_GT pGT );
void hb_gt_BaseLock( PHB_GT pGT );
void hb_gtSleep( PHB_GT pGT, double dSeconds );
* src/rtl/hbgtcore.c
* src/rtl/gtcrs/gtcrs.c
* src/rtl/gtdos/gtdos.c
* src/rtl/gtgui/gtgui.c
* src/rtl/gtos2/gtos2.c
* src/rtl/gtpca/gtpca.c
* src/rtl/gtsln/gtsln.c
* src/rtl/gtstd/gtstd.c
* src/rtl/gttrm/gttrm.c
* src/rtl/gtwin/gtwin.c
* src/rtl/gtwvt/gtwvt.c
* src/rtl/gtxwc/gtxwc.c
* use new functions to unblock GT when low level TONE() code is
executed. It allows other threads to access shared GT driver
when one of them executes TONE()
* contrib/hbexpat/hbexpat.hbx
* regenerated automatically
* contrib/hbamf/amfenc.c
* update amf3_Encode() serialize function with great idea of Przemek
implemented recenly in hb_Serialize(). Checking garbage collector
reference count can save time here too, unique arrays and hashes won't
be indexed as references.
* contrib/hbexpat/3rd/expat/*
! updated to 2.2.5 (from 2.2.1) using 3rdpatch.hb, expat.diff from
Viktor's 3.4 fork was used - but (again) adapted for DOS 8.3 naming
scheme. Also i've kept local patches for WinCE, OpenWatcom DOS/OS2,
please test. Compilation in CPP mode is explicitly disabled for libexpat
now, as upstream decided to ignore such use cases completly.
* contrib/hbexpat/*
* synced with Viktor's 3.4 fork
+ include/hbarc4.h
* src/harbour.def
+ export ARC4 core routines like in 3.4 fork, updated expat lib reuses it.
* contrib/hbtip/hbtip.hbp
! adapt *.hbx file specifier to hbmk2 3.2 syntax