* src/vm/itemapi.c
- hb_itemGetNL() no longer works for date types.
INCOMPATIBLE. If you used it to retrieve date/time,
use hb_itemGetDL() instead.
! Fixed typo in prev addition.
* include/hbapi.h
* src/vm/arrays.c
+ Added hb_arrayGetNSize(), hb_arraySetNSize().
! Fixed old typo in TRACE() call of hb_arrayGetNInt().
* src/vm/extend.c
! Fixed typo in prev addition.
* src/rtl/filesys.c
! Applied fixed from Przemek to hb_fsReadAt()/hb_fsWriteAt()
code to be MT safe plus fix other problems.
; QUESTION: Shouls the same applied to hb_fsWriteLarge()/hb_fsReadLarge()
loops? (BTW inactive in 32-bit Harbour builds)
* contrib/hbct/screen2.c
! Type cleanup.
* contrib/hbct/pack.c
* contrib/xhb/hbxml.c
* contrib/xhb/hbxml.h
* contrib/hbgt/charmixg.c
* contrib/hbgt/charodd.c
* contrib/hbgt/strexpan.c
* contrib/hbgt/asciisgt.c
* contrib/hbgt/strright.c
* contrib/hbgt/strasint.c
* contrib/hbgt/strdiffg.c
* contrib/hbgt/chrtotal.c
* contrib/hbgt/strcount.c
* contrib/hbgt/strleft.c
* contrib/hbgt/chrfirst.c
* contrib/hbgt/chrcount.c
* contrib/hbgt/strpbrk.c
* contrib/hbgt/chareven.c
* contrib/hbgt/bitflags.c
* contrib/hbgt/strcspn.c
* contrib/hbgt/atdiff.c
* contrib/hbnf/proper.c
* contrib/hbnf/getenvrn.c
! Fixed to use Harbour size types.
* contrib/hbnf/dispc.c
! Started using Harbour type, but this is code is
deadly and needs further work. I still wonder how
to create code which mixes properly HB_FOFFSET and
HB_SIZE.
* contrib/xhb/cstructc.c
* Formatting.
* src/vm/runner.c
! Minor to prev.
* include/hbapi.h
* src/vm/extend.c
+ Added hb_parnsize(), hb_retnsize(), hb_stornsize() functions.
; NOTE: These should be used in place of hb_parnl(), hb_retnl(),
hb_stornl() when passing HB_SIZE types.
; TODO: Use them all accross Harbour if they are correct and
after being finalized.
* src/vm/itemapi.c
+ Added hb_itemGetNSize(), hb_itemPutNSize() functions.
* DATETIME stuff in hb_itemGetNL() marked as HB_LEGACY_LEVEL3.
; QUESTION: It's marked as to be deleted in the TODO, so maybe we should
rather delete it.
* include/hbapiitm.h
* src/rtl/filesys.c
+ hb_fsReadAt(), hb_fsWriteAt(): Added support for Win64 HB_SIZE.
; QUESTION: I assume these functions have the purpose of being
atomic seek + read without moving the file pointer,
which means current modification isn't safe. How
can this be solved given Windows doesn't seem to have
64-bit read/write API calls?
! Fixed old copy-paste typos in Windows OVERLAPPED initialization,
where the lines were ended with command instead of semicolon,
they didn't cause any harm though in their former location.
% Reverted a minor change from prev commit to make it
possibly a little bit faster, like it was before.
* src/rtl/hbzlib.c
+ Added casts (at external interface calls) and other fixes to
make it build for Win64 without warnings.
* src/rdd/dbfntx/dbfntx1.c
* src/rdd/dbfnsx/dbfnsx1.c
* src/rdd/dbfcdx/dbfcdx1.c
* src/rdd/dbffpt/dbffpt1.c
* contrib/rddbmcdx/bmdbfcdx.c
* HB_ULONG -> HB_SIZE where appropriate to avoid Win64 errors
and some warnings. I'm still not comfortable to touch this
code, but it could certainly need a type cleanup.
* include/hbdefs.h
+ Added HB_PFS macro which holds the printf() format string
for HB_SIZE value.
; TODO: Use it all accross Harbour.
* contrib/hbmysql/mysql.c
* contrib/sddmy/sddmy.c
* contrib/hbmzip/hbmzip.c
* contrib/hbcurl/hbcurl.c
* contrib/hbhpdf/harupdf.c
* contrib/hbpgsql/postgres.c
* contrib/rddads/adsfunc.c
* contrib/rddads/ads1.c
* contrib/hbfimage/fi_wrp.c
* contrib/sddodbc/sddodbc.c
* contrib/hbgd/gdwrp.c
* contrib/hbwin/wapi_wingdi.c
* contrib/hbwin/wapi_winbase.c
* contrib/hbwin/wapi_winuser.c
* contrib/hbwin/win_bmp.c
* contrib/hbwin/win_prn1.c
* contrib/hbwin/win_regc.c
* contrib/hbssl/evpciph.c
* contrib/hbssl/ssl.c
* contrib/hbssl/bio.c
* contrib/hbssl/sslctx.c
* contrib/hbssl/evpenc.c
* contrib/hbssl/pem.c
* contrib/hbssl/rand.c
* contrib/hbssl/evp.c
+ Added necessary casts at external component boundaries to
make Win64 builds warning-free.
* contrib/hbct/ctstrfil.c
+ HB_ISIZ -> HB_FOFFSET, hb_fsSeek() usage, other type cleanup
to handle file offsets correctly.
* contrib/xhb/hbnxs.h
* contrib/xhb/hbcrypt.c
! Fixed warnings for Win64.
* contrib/hbwin/win_prn3.c
* contrib/xhb/dbf2txt.c
* contrib/xhb/fparse.c
* int -> HB_ISIZ for Win64.
* contrib/xhb/freadlin.c
* hb_fsSeek() -> hb_fsSeekLarge().
* contrib/sddfb/sddfb.c
* Minor type cleanup to make Win64 warning-free.
* contrib/hbsqlit3/hbsqlit3.c
+ Added necessary casts at external interface calls.
% Deleted one dummy operation from SQLITE3_FILE_TO_BUFF().
* contrib/rddsql/sqlmix.c
* contrib/rddads/adsx.c
* HB_ULONG -> HB_SIZE.
* contrib/gtwvg/gtwvg.c
* contrib/gtwvg/wvggui.c
* contrib/gtwvg/wvgcuig.c
* contrib/gtwvg/wvgwin.c
* contrib/gtwvg/wvgutils.c
* contrib/gtwvg/wvgcore.c
! int -> HB_ISIZ/HB_SIZE
+ Added necessary casts at external component boundaries to
make Win64 warning-free.
* contrib/rddads/ads1.c
* HB_ULONG -> HB_SIZE
* contrib/hbtip/utils.c
* int -> HB_ISIZ
! Fixed to use HB_FOFFSET type to save/restore file position.
* ChangeLog
+ Added missing item to previous log entry:
! Fixed hb_fsCurDirBuff() for Win64.
; It's quite large commit, nevertheless I'd highly appreciate
peer review, and certainly there will be places which need
better or different solution for Win64.
* include/hbdefs.h
! Fixed one intentional typo I put in to test legacy types.
* src/compiler/hbmain.c
* src/compiler/genhrb.c
* src/compiler/gencc.c
* src/compiler/hbcmplib.c
* include/hbcomp.h
* include/hbcompdf.h
* HB_ULONG -> HB_SIZE, where I could find out from warnings.
+ Added parameter names to some function declarations where they
were missing.
; Przemek, please check me. I feel I will mess this up if continuing
beyond this point, so I'd appreciate if you could take a look at
HB_ULONG to HB_SIZE conversion from an intrinsic perspective,
there seem to be places where it needs further tweaks to get us
full Win64 support. [ I've also intentionally left this area
more or less intact when doing the previous pass of conversion. ]
; There are places where simple 'int' is used, while it should be
HB_SIZE (or maybe size_t? in some places).
; Also, Win64 conversion will need some more work f.e. in filesys.c
where WinAPI file I/O functions can't accept a 64-bit value.
First I will report these and if they seem complicated I'll
revert to HB_SIZE = HB_ULONG for Win64 in the being.
* src/compiler/hbgenerr.c
* Formatting.
* src/pp/ppcore.c
* src/vm/strapi.c
* src/vm/debug.c
* src/vm/itemapi.c
* src/vm/cmdarg.c
* src/vm/set.c
* src/debug/dbgentry.c
* src/common/hbgete.c
* src/common/hbstr.c
* src/common/strwild.c
* src/nortl/nortl.c
* src/rtl/lennum.c
* src/rtl/strmatch.c
* src/rtl/gtstd/gtstd.c
* src/rtl/hbstrfmt.c
* src/rtl/transfrm.c
* src/rtl/gtcgi/gtcgi.c
* src/rtl/direct.c
* src/rtl/filesys.c
* src/rtl/console.c
* src/rtl/hbgtcore.c
* src/rtl/cdpapi.c
* src/rtl/mlcfunc.c
* src/rtl/itemseri.c
* src/rtl/gtpca/gtpca.c
* src/rtl/trace.c
* src/rtl/samples.c
* src/rtl/gete.c
* src/rdd/workarea.c
* src/rdd/hsx/hsx.c
* src/rdd/hbsix/sxsem.c
* src/rdd/hbsix/sxfname.c
* contrib/hbct/tab.c
* contrib/xhb/dbf2txt.c
* contrib/xhb/datesxhb.c
* contrib/xhb/dbgfxc.c
* contrib/hbmzip/hbmzip.c
* contrib/hbnf/fttext.c
* contrib/hbnetio/netiocli.c
* contrib/hbpgsql/postgres.c
* contrib/hbclipsm/num.c
* contrib/rddads/ads1.c
* contrib/sddsqlt3/sddsqlt3.c
* contrib/hbfimage/fi_wrp.c
* contrib/sddodbc/sddodbc.c
* contrib/sddoci/sddoci.c
* contrib/hbwin/win_svc.c
* contrib/hbwin/win_prn2.c
* '( HB_SIZE ) strlen(' -> 'strlen('
* src/rtl/hbzlibgz.c
* src/rtl/fstemp.c
* src/rtl/at.c
* src/rtl/strtran.c
* src/rtl/hbinet.c
* src/rtl/saverest.c
* src/rtl/diskspac.c
* src/rtl/philes.c
* src/rtl/mlcfunc.c
* src/rtl/disksphb.c
* src/rtl/shadow.c
* src/rtl/trace.c
* src/rtl/ati.c
* src/rtl/hbstrsh.c
% Optimized to use hb_parn*def() calls instead of inline-if expression
(where default value is constant or simple variable).
% Optimized out few HB_ISNUM() calls where the default value was zero.
Also added comment to signal the intention.
* src/rtl/inkey.c
+ Added two TOFIXes to LASTKEY() and NEXTKEY() after having discovered
two hidden (dirty) parameter extensions over original Clipper
implementation, both added here in Harbour in year 2001. [ I didn't
test if it's undocumented Clipper function, but there is no such
indication in past log enties, plus even in this case it would have
to be marked with HB_CLP_UNDOC. They are also not Xbase++ extensions. ]
+ Added HB_KEYNEXT(), HB_KEYLAST() functions which implement original
NEXTKEY()/LASTKEY() functionality plus the extension.
Pls correct me if I'm wrong, but after reading all related log entries
I could not find out why the default of the optional parameter is
_SET_EVENTMASK in NEXTKEY(), but INKEY_ALL in LASTKEY(). It was changed
as part of big change, here: 2004-10-11 21:40 UTC+0100 Przemyslaw Czerpak
; I intend to deprecate the dirty extensions and finish adding the two
new Harbour specific function, which we're free to extend.
* contrib/xhb/dumpvar.prg
! Fixed recent typo.
* INSTALL
* Updated tdm website.
* contrib/xhb/xhbfs.c
! Fixed ISDIRECTORY() to work like originally intended.
This effectively reverts breakage caused by this change:
2009-07-06 10:06 UTC+0100 Miguel Angel Marchuet <miguelangel@marchuet.net>
* source/rtl/file.c
* Changed IsDirectory to fix IsDirectory( "\\machine\c" ) style call
under windows platforms.
BTW, in Harbour to achieve above effect, you can use
native HB_DIREXISTS( "\\machine\c" ) function call.
* harbour/contrib/xhb/xhbcomp.prg
* harbour/contrib/xhb/xhbmsgs.c
+ added emulation for some xHarbour extensions in ==, = and !=
operators.
<block> == <block>
<hash> = <hash> // it does not work correctly in xHarbour
<hash> != <hash>
* src/rtl/hbzlib.c
+ Added QNX version number to the comment noting the hack.
* contrib/xhb/xhbfs.c
+ Added ISDIRECTORY() implementation which exactly mimics
current xhb behavior. Current xhb behavior seems wrong
because on Windows platform it works like HB_DIREXISTS()
in Harbour (not allowing wildcards), while on rest of
platforms it accept wildcards. The original intent in
xhb was the latter.
* contrib/xhb/hbcompat.ch
- Deleted ISDIRECTORY() <-> HB_DIREXISTS() mapping.
* src/vm/set.c
* Reset default value to "hb_out.log".
+ mpkg_nightly.sh
+ Added script to generate nightly sources.
; TODO: Upload nightlies to sf.net.
; TODO: Change nightly filenames to match our normal source releases.
; TOFIX: Current .zip nighly has wrong (*nix) EOLs. This has to be
changed to CRLF.
* INSTALL
* Changed nightly script URLs to point to sf.net file area.
! Minor fix to bug tracker address.
* contrib/xhb/regexrpl.prg
* contrib/hbtip/httpcli.prg
* contrib/hbtip/mail.prg
! Fixed to use EMPTY() on HB_REGEX[ALL]() return
value instead of NIL check.
Required after recent change in HB_REGEX*()
return values in no-match case.
* contrib/hbcurl/hbcurl.c
* contrib/hbcurl/hbcurl.ch
+ Added support to download-to/upload-from file handle.
* contrib/hbqt/qtgui/Makefile
* contrib/hbqt/qtcore/Makefile
* contrib/hbqt/Makefile
* contrib/hbqt/gtqtc/Makefile
* contrib/hbqt/qtnetwork/Makefile
! Fixed to not build separate HBQT libs for static
linkage for non-win/wce targets.
* package/mpkg_win.nsi
* package/winuni/mpkg_win_uni.nsi
* Changed to use 'Harbour Project' as folder name in registry.
(instead of 'Harbour'). Just to be consistent.
* package/winuni/mpkg_win_uni.nsi
+ Add major.minor version number to registry folder names.
This allows multiple major versions of Harbour to be installed
in parallel.
* contrib/xhb/ttable.prg
% '&("{||" + c + "}")' -> HB_MACROBLOCK()
* contrib/xhb/trpccli.prg
* contrib/xhb/hblognet.prg
* contrib/xhb/xcstr.prg
* contrib/xhb/tedit.prg
* contrib/xhb/xdbmodst.prg
* contrib/xhb/trpc.prg
* contrib/xhb/thtm.prg
* contrib/xhb/dumpvar.prg
* contrib/xhb/xhbmt.prg
* contrib/xhb/xhberr.prg
* contrib/xhb/ttable.prg
* contrib/xhb/txml.prg
* '.NOT.' -> '!'
% ValType( x ) == "Y" -> IS*()
* Some other basic formatting and cleanup.
* src/rtl/hbini.prg
* examples/httpsrv/session.prg
* Formatting.
* tests/db_brows.prg
* tests/server.prg
* tests/testrdd2.prg
* tests/setkeys.prg
* contrib/hbtip/tests/tiptest.prg
* contrib/hbtip/tests/loadhtml.prg
* examples/hbsqlit2/tests/hbsqlite.prg
* examples/gtwvw/tests/wvwtest9.prg
* examples/gtwvw/tests/ebtest7.prg
* '.NOT.' -> '!'
* harbour/contrib/xhb/trpc.prg
* harbour/contrib/xhb/trpccli.prg
! fixed xhb_StartThread() -> StartThread()
* harbour/contrib/xhb/xhbgt.c
! removed unnecessary wrapper to CT3 SETLASTKEY() function
* harbour/contrib/hbnf/ftisprn.c
! fixed HB_ISPRINT() -> HB_ISPRINTER()
* harbour/contrib/hbxpp/tbrowsex.prg
! added missing _TBR_COORD() definition
; TOFIX: this code uses _MAXFREEZE() function which do not exists so
it cannot be linked with any application
* src/vm/fm.c
* src/vm/set.c
* SET( _SET_HBOUTLOG, NIL ) will now reset the internal output
name to NULL, which is also the new internal default value.
* After this change the GPF handler and FM STAT dump code
will do the defaulting to "hb_out.log" filename, if the
internal _SET_HBOUTLOG value is NULL. This causes a small
incompatibility in how log file can be disabled, and at the
same time allows to implement low-level logging logic for
default case which is safer than current one, while allowing
the user (developer) to set a custom log filename and expect
regular log file append behavior.
From now on to disable logging, use: SET( _SET_HBOUTLOG )
* utils/hbmk2/hbmk2.prg
! Fixed to not do pkg detection and key header evaluation
after -stop and certain modes.
+ Added full list of std C and POSIX headers to the header
exclusion list in header dependency parser code.
Also added dos.h.
* contrib/xhb/dbgfxc.c
* Formatting.
* harbour/contrib/xhb/xhberr.prg
! fixed reporting information about workareas in error.log file
generated by default xHarbour error block.
Warning this code is still broken in xHarbour CVS.
* utils/hbmk2/hbmk2.prg
+ Added experimental support for filters containing string
comparisons, f.e.: '{MY_VAR='hello'}-cflag=-DMY_FLAG'
; NOTE: It's not guaranteed yet that this feature will stay.
* include/hbzlib.ch
+ Added HB_ZLIB_RES_* zlib result values.
* contrib/xhb/Makefile
- contrib/xhb/hbcomprs.c
+ contrib/xhb/hbcomprs.prg
+ contrib/xhb/tests/compress.prg
+ Rewritten xhb compatiblity compression functions in .prg.
The main reason was to avoid dependence on zlib.h on C level.
This simplifies the build layout.
! This fixes last zip error to work in MT programs.
+ Added test/demo program from xhb. Work by Giancarlo Niccolai.
; NOTE: Tested only with xhb test/demo program.
* contrib/xhb/hbcomprs.ch
+ Changed to use HB_ZLIB_* constants. So it's now only a wrapper
instead of replicating values.
* contrib/xhb/hbcompat.ch
* contrib/xhb/xhbfs.c
! Deleted FILESIZE(). It's not an xhb compatibility function,
but one offered as part of CT lib in xhb, and HBCT in Harbour.
* src/common/hbver.c
+ Added compiler version detection for clang 2.x (and newer)
Patch by Tamas Tevesz.
* INSTALL
* Minor.
* config/bsd/clang.mk
* config/linux/clang.mk
+ Clearing forced C++ mode if clang 1.x is detected.
(Patch from Tamas Tevesz. Slight fix added by me to
set HB_CMP when falling back to C mode. I didn't make
tests though.)
; NOTE: Probably HB_BUILD_MODE=c should be export-ed
to avoid double evaluation. Pls test it.
* config/postinst.prg
* config/ren_sfn.prg
+ Raised warning level to 3.
* harbour/contrib/xhb/Makefile
+ harbour/contrib/xhb/xhbhasha.c
+ added xHarbour Hash with Associative Array compatibility functions:
HAAGETKEYAT( <hValue>, <nPos> ) -> <value>
HAAGETVALUEAT( <hValue>, <nPos> ) -> <value>
HAASETVALUEAT( <hValue>, <nPos>, <value> ) -> NIL
HAADELAT( <hValue>, <nPos> ) -> NIL
HAAGETPOS( <hValue>, <xKey> ) -> <nPos>
HAAGETREALPOS( <hValue>, <nPos> ) -> <nRealPos>
HGETVAAPOS( <hValue> ) -> <aOrder>
HSETAACOMPATIBILITY( <hValue>, <lAACompat> ) -> <lDone>
HGETAACOMPATIBILITY( <hValue> ) -> <lAACompat>
These functions were added only for compatibility with existing
xHarbour code. Harbour does not emulate associative arrays by
special index but it uses real natural order for them. It means
that associative array indexes are equal to regular hash indexes
so we do not need any translation between them and Harbour users
can use regular hash array functions for associative array indexes,
i.e. instead of using HAAGETKEYAT() they can use HB_HKEYAT().
* contrib/xhb/xhbfunc.c
+ Added XHB_NETNAME(), XHB_MEMOWRIT()
* contrib/xhb/hbcompat.ch
! Fixed MEMOWRIT() translation. Someone pls test it with
real xhb.
* contrib/xhb/hbcompat.ch
* contrib/xhb/xhb.ch
! Moved xhb_*() function dependent translations to xhb.ch.
(since the promise is that hbcompat.ch translations don't
need xhb lib)
* contrib/xhb/hbcompat.ch
* Grouped together all translations which cannot be
replaced using wrapper technique.
* contrib/xhb/xhbgt.c
* contrib/xhb/xhbfunc.c
! Deleted two wrappers which cannot be wrappers.
(dirty extensions)
* contrib/xhb/Makefile
- contrib/xhb/hbcompat.prg
+ contrib/xhb/xhbfunp.prg
* Renamed.
* contrib/xhb/Makefile
* contrib/xhb/xhbmt.prg
+ contrib/xhb/xhbmtc.c
* contrib/xhb/xhbfunp.prg
% Some .prg wrappers changed to .c ones.
! This also fixed some double implementation
after previous commit.
* contrib/xhb/xhbarr.c
* contrib/xhb/xhbfunp.prg
% Converted RASCAN wrapper to .c and moved to
existing array wrapper source file.
* contrib/xhb/Makefile
* contrib/xhb/xhbfunc.c
+ contrib/xhb/xhbhash.c
% Moved hash wrappers to separate file.
(also synced with xhbfunp.prg content)
- Deleted special macro to disable these wrappers.
* contrib/xhb/Makefile
* contrib/xhb/xhbfunc.c
+ contrib/xhb/xhbinet.c
% Moved inet function wrappers to separate file.
(also synced with xhbfunp.prg content)
- Deleted special macro to disable these wrappers.
* contrib/xhb/Makefile
* contrib/xhb/xhbfunp.prg
+ contrib/xhb/xhbgt.c
+ contrib/xhb/xhbini.c
+ contrib/xhb/xhbproc.c
+ contrib/xhb/xhbregx.c
+ contrib/xhb/xhbmtc.c
+ contrib/xhb/xhbfs.c
+ contrib/xhb/xhbdate.c
+ contrib/xhb/xhbi18n.c
% Rewritten wrappers in .c and moved them to
separate files.
; Few other double definitions fixed after previous commit.
Hopefully now it's optimal and modular, and the best wrappers
were kept.
; Basically hbcompat.ch is now not of too much use, unless
someone specifically want to avoid linking xhb.
* contrib/xhb/Makefile
+ contrib/xhb/hbcompat.prg
+ Added equivalent function wrappers for all hbcompat.ch
translations where such was possible (everywhere besides
"dirty" extensions of original Clipper functions)
; NOTE: This method, as is now, has some advantages:
- doesn't require modification of app source code.
- doesn't require knowledge about hbcompat.ch.
and disadvantages:
- is slightly slower
- will pull unnecessary code parts into the executable
If this change gets positive feedback, the two
disadvantages can be easily mitigated by splitting
hbcompat.prg into multiple .prg sources and replacing
wrappers with .c code where possible.
; Pls review me.
* contrib/xhb/hbcompat.ch
! Minor cleanup.
* contrib/hbcomm/hbcomm.prg
! Fixed return value of OUTCHR(). Thank you Przemek for reviewing.
* include/hbdefs.h
+ Added HB_EXTERN macro to eventually replace 'extern' keyword.
* include/hbstack.h
* include/hbsocket.h
* include/hbapicls.h
* contrib/xhb/hbserv.h
* contrib/gtwvg/gtwvg.h
* contrib/hbcairo/hbcairo.h
* examples/gtwvw/gtwvw.c
* examples/gtwvw/hbgtwvw.h
! Fixed declarations to use 'extern HB_EXPORT' keyword order.
! Fixed declarations where 'extern' keyword was missing.
; TODO: To fix watcom .dll support 'extern HB_EXPORT <type> <func()>'
will have to be changed to 'extern <type> HB_EXPORT <func()>'
or even better to 'HB_EXTERN <type> HB_EXPORT <func()>' to
also stay future-proof.
* contrib/hbwin/win_osc.c
+ Added WIN_OSISWINXPORLATER(). Following Peter Rees in xhb.
* contrib/xhb/Makefile
+ contrib/xhb/xwin_reg.c
+ contrib/xhb/xwin_ver.c
* contrib/hbwin/Makefile
- contrib/hbwin/legacycr.c
- contrib/hbwin/legacycv.c
! Moved these legacy Windows functions to xhb lib from hbwin
lib. This way we don't have to delete them after next
release, plus they provide better compatibility as they are
now also present in non-win builds (returning dummy values),
just like in xhb.
+ Added OS_ISWINXP_OR_LATER() function.
* contrib/xhb/hbxml.c
! REVERTED: 2010-04-05 11:04 UTC+0200
This means that these heavy leaks are again present
in this xhb ported code, but at least it won't GPF.
* contrib/xhb/tests/xml1.prg
! Minor to prev.
+ contrib/xhb/tests/xml1.prg
+ contrib/xhb/tests/test.xml
+ Added xml test code posted to list by "Ivan re".
(after fix and formatting)
; TOFIX: This sample crashes with mingw.
* contrib/xhb/hbxml.c
! Applied recent heavy leak fixes from xhb project.
(with some modifications)
* Formatting.
% Optimized out two local variables.
- contrib/rddsql/sddodbc
+ contrib/sddodbc
* contrib/sddodbc/Makefile
* contrib/sddodbc/sddodbc.hbc
! Moved to contrib root. (somehow missed from previous
commit when other sdd* libs were moved)
* contrib/xhb/tframe.prg
! Using IS*() macros instead of NIL checks.
% Using IS*() macros instead ValType() calls.
% Several minor optimizations.
* Changed to use standard class declaration syntax.
* contrib/xhb/tframe.prg
* contrib/hbide/ideharbourhelp.prg
* contrib/hbide/idehome.prg
! Fixed to generate lowercase HTML code. This is basic requirement
for HTML to validate with any newer than legacy HTML standard (f.e. XHTML).
Should be fixed in other places in Harbour.
* contrib/xhb/tframe.prg
* contrib/xhb/cgi.ch
* Formatting.
* contrib/gtwvg/gtwvg.c
* contrib/gtwvg/gtwvg.h
* Synced color RGB values with GTWVT.
* contrib/hbgd/hbgd.hbc
! Fixed to reference hbct lib. hbgd requires it for
some math functions.
* contrib/hbxpp/Makefile
* contrib/hbxpp/hbxpp.ch
+ contrib/hbxpp/xppopc.c
+ contrib/hbxpp/xppop.prg
+ contrib/hbxpp/tests/opover.prg
+ Added support for 'string[ n ]' syntax.
Note, you have to #include "hbxpp.ch" to activate it.
(of course you can pick the logic and copy it to app
code, it's only two lines)
(copied and adapted from existing xhb lib implementation)
* contrib/xhb/xhbmsgs.c
! Fixed HB_LONG -> HB_ISIZ
* contrib/hbxpp/hbxppext.ch
* Updated.
* harbour/bin/hb-func.sh
* updated new contrib libraries
* harbour/contrib/xhb/regexrpl.prg
! fixed hb_RegexReplace() to respect lCaseSensitive and lNewLine flags
* harbour/src/rtl/filesys.c
% use in OS2 builds system API functions instead of CRTL ones
to get/set current drive
% use in OS2 builds system API function DosQueryCurrentDisk() to
check if disk drives are available in hb_fsIsDrv() function
! use in OS2 builds system API function DosQCurDir() to extract current
directory. It fixed buffer overflow due to ignored buffer size in
GCC OS2 builds and makes MT safe getting current directory for non
current drive.
* src/common/hbverdsp.c
* include/hbsetup.ch
* contrib/xhb/xhbver.prg
- Deleted HB_COMPAT_VO, HB_COMPAT_DBASE, HB_COMPAT_CLIP as build-time
options. They were not used, and in the future these should be
implemented as addon libraries.
* INSTALL
* Minor terminogology adjustment.
* examples/hbdoc2/tmplates.prg
* examples/hbdoc2/hbdoc2.prg
- Deleted special handling of FlagShip functions.
* include/hbsetup.ch
* src/common/hbverdsp.c
- Deleted HB_COMPAT_XPP option. It's no longer used in Harbour.
From this point all Xbase++ compatibility functions and core
classes are implemented in 'xpp' contrib library (name
tentative). Add it to your lib list, if you need Xbase++
compatible functions. IOW HB_COMPAT_XPP build time option
got converted to a app link time option.
* src/rtl/isprint.c
- Deleted dirty Xbase++ extension of ISPRINTER(). Now it's
purely Clipper compatible in default build.
INCOMPATIBLE. For Xbase++ version, use XPP_ISPRINTER()
(or HB_ISPRINTER() which is the exact same).
* src/rtl/tobject.prg
* src/rtl/transfrm.c
* src/rtl/memoedit.prg
* include/memoedit.ch
* Replaced "#ifdef HB_COMPAT_XPP" with "#ifndef HB_CLP_STRICT".
Which means we've endorsed these extensions in Harbour,
and they are always enabled except in strict compatibility
builds.
* src/rdd/nulsys/nulsys.c
- Deleted HB_COMPAT_XPP guarded function.
* contrib/xhb/xhbver.prg
* Always return .T. for _HB_COMPAT_XPP in version info.
* include/box.ch
* contrib/xpp/xpp.ch
+ Added Xbase++ compatibility box.ch constants from core box.ch.
INCOMPATIBLE if you use B_THIN or B_FAT box style.
* utils/hbtest/hbtest.prg
* examples/hbdoc2/tmplates.prg
* examples/hbdoc2/hbdoc2.prg
- Deleted parts dealing with HB_COMPAT_XPP option.
* src/rtl/fstemp.c
! Using hb_fsTempDir() in HB_FTEMPCREATEEX() instead of
old solution. This should fix it for some non-*nix
platforms where *nix specific TEMPDIR envvar was used
to determine temp directory.
* contrib/hbwin/Makefile
* include/Makefile
* src/rtl/Makefile
- contrib/hbwin/hbdyn.ch
+ include/hbdyn.ch
- contrib/hbwin/hbdyn.c
+ src/rtl/hbdyn.c
- contrib/hbwin/win_dllc.c
+ src/rtl/hbdynhb.c
- contrib/hbwin/tests/testdll.c
+ tests/testdyn.c
- contrib/hbwin/tests/testdll.prg
+ tests/testdyn.prg
- contrib/hbwin/tests/testdll1.prg
+ tests/testdyn1.prg
- contrib/hbwin/hbdyn.h
* include/hbapi.h
* Moved dynamic library call related functions to
core (RTL).
* Windows specific test code (currently all) guarded
for platform.
* Changed default calling convention to cdecl.
Tests adaptd accordingly.
* Terminology change: 'dll' -> 'dynamic library'
; HB_DYNCALL() is now part of core Harbour, and it's
platform independent. It's platform (ABI) dependent though,
and currently x64 and x86/stdcall/syscall/cdecl
is supported and these were tested (except OS/2 syscall).
* contrib/hbwin/hbwin.h
* contrib/hbwin/win_misc.c
* contrib/hbwin/legacycd.c
* Low level hbwin_getprocaddress() function moved
to legacy file and made static.
* contrib/xpp/Makefile
* contrib/xpp/dllx.c
* contrib/xpp/xpp.hbc
+ Enabled DLL*() functions for all platforms.
- Deleted dependence on hbwin library.
* contrib/xpp/tests/testdll.prg
* Windows specific parts (currently the whole test) guarded
for platform.
* contrib/hbct/Makefile
- contrib/hbct/diskhb.prg
* contrib/hbct/disk.c
* contrib/xhb/Makefile
+ contrib/xhb/diskhb.prg
* GETVOLINFO() moved from hbct to xhb.
* ChangeLog
* Marked some TODO/TOFIX items as DONE.