* contrib/hbziparc/ziparc.prg
+ added support for HB_UNZIPFILE() lWithPath parameter
! fixed HB_UNZIPFILE() after latest patch and added better error checking
! fixed setting attribs
; Patch by Grigory Filatov, with these changes of mine:
* deleted changes to existing code and replaced it with optimizated code
* deleted reformatting of existing code
! fixed adding ending pathsep
* minor simplification
! fixed RTE when using progress bar (from Leandro's new patch)
; Please test
- contrib/hbpgsql/tests/hdbctest.prg
- deleted HDBC/PGSQL tests
* contrib/hbpgsql/hbpgsql.hbx
* contrib/hbpgsql/hbpgsql.hbp
- contrib/hbpgsql/hdbcpg.prg
- Deleted HDBC class layer due references to deprecated
wrapper function which caused link errors in dynamic builds
or HDBC apps. Please readd the file if interested in making
this technially simple fix.
* contrib/hbmzip/mzip.c
% eliminated one local variable in HB_UNZIPFILEREAD()
* contrib/hbziparc/ziparc.prg
+ HB_UNZIPFILE(): added progress bar support.
Patch by Leandro Damasio, with following changes:
! refixed to use cPath when forming target filename
! missing hHandle declaration
% FERASE() removed, FCREATE() will recreate it
% Left() eliminated from FWRITE() call
* minor symbol casing
; I didn't test this code, so please do it.
* doc/howtosvn.txt
+ added extra rules to "1.3 Here's how to format your ChangeLog entries"
section.
* Change markup is not optional anymore, pls stick to it.
* contrib/hbcups/tests/test.prg
* contrib/hbcups/readme.txt
+ Added more test code and extra info to hbcups.
Update provided by Dr. Claudia Neumann (with my minor fixes/formatting).
Many thanks!
* contrib/hbpgsql/rddcopy.c
* contrib/hbpgsql/hbpgsql.h
! svn props
* tests/testtok.prg
* tests/testrdd.prg
* tests/tstchbx.prg
* tests/tstblock.prg
* tests/ticktime.prg
* tests/testvars.prg
* tests/tstasort.prg
* tests/testprof.prg
* tests/testread.prg
* tests/testrpt.prg
* tests/teststr.prg
* formatting.
* contrib/rddsql/sqlbase.c
! fixed transfering records between two "array" SQLBASE workareas, when there
is a text/long/clob/memo field
Patch by Ilina Stoilkovska.
* contrib/hbpgsql/postgres.c
! added #include pg_config.h, '#if PG_VERSION_NUM' clauses were not working
+ plain wrappers for bulk data insert functions PQputCopyData, PQputCopyEnd
+ new function PQCOPYFROMWA which copies current workarea with CSV-like
bulk data transfer functions to PostgreSQL database, without the need
of creating temporary files - similar to __dbTrans() and __dbSql()
<lResult> := PQCOPYFROMWA( <pConn>, <cTable>, [<bWhileBlock>],
[<bForBlock>], [<aFieldNames>], [<nCount>],
[<lTrimStrings>], [<nPreBuffer>] )
<nPreBuffer> - default is 1, which turns into 1 * 1400 bytes
(to keep it below typical network MTU of 1500 bytes),
needs testing how libPQ is doing buffering by itself,
and if this is needed?
Patch by Ilina Stoilkovska. Many thanks.
* contrib/hbpgsql/hbpgsql.hbx
+ contrib/hbpgsql/rddcopy.c
+ contrib/hbpgsql/hbpgsql.h
* contrib/hbpgsql/postgres.c
* contrib/hbpgsql/hbpgsql.hbp
+ moved PQ related declarations to separate header. low-level functions made public.
% moved new PQCOPYFROMWA() to separate source to untie the main wrappers from RDD components
* HB_ prefix to PQCOPYFROMWA() name
* minor mods to above
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
- deleted x64 flavor of some exes which don't give any benefit of the 64-bitness
* include/extend.api
* include/harbour.hbx
* include/hbdefs.h
* include/hbapi.h
* include/hbvm.h
* include/hbapigt.h
* include/clipdefs.h
- src/pp/pplib3.c
* src/pp/Makefile
* src/vm/hvm.c
* src/rtl/hbtoken.c
* src/rtl/inkey.c
* src/rdd/usrrdd/usrrdd.c
* contrib/hbmysql/hbmysql.hbx
- contrib/hbmysql/mysqlold.c
* contrib/hbmysql/mysql.c
* contrib/hbmysql/hbmysql.hbp
* contrib/hbmysql/mysql.ch
* contrib/hbpgsql/hbpgsql.hbx
* contrib/hbpgsql/postgres.c
* contrib/hbwin/hbwin.hbp
* contrib/hbwin/hbwin.hbx
- contrib/hbwin/legacy.prg
- contrib/hbwin/legacycd.c
- contrib/hbwin/legacyco.c
- contrib/hbwin/legacycp.c
* contrib/hbodbc/hbodbc.hbx
- contrib/hbodbc/odbcold.c
* contrib/hbodbc/odbc.c
* contrib/hbodbc/hbodbc.hbp
* contrib/hbtip/utils.c
* contrib/hbtip/hbtip.hbx
* deleted things marked with HB_LEGACY_LEVEL3, finishing cleanup
job started many years ago.
; this also means that windows.h and os2.h will no longer be
included by Harbour headers, HB_OS_WIN_USED is thus ineffective,
so if someone needs these headers to access system APIs, they
should be manually included in each source file. Some old
hacks have also been removed which disabled some Clipper
compatibility macros/types in compatibility headers (clipdefs.h, *.api),
if someone uses these alongside windows.h/os2.h inclusion, it will
be broken, here the strategy is to move to Harbour types and
Harbour API headers, simply Clipper headers and newer OS headers
are not compatible.
; HB_DONT_DEFINE_BASIC_TYPES is not effective anymore.
; INKEY_RAW is no more, use HB_INKEY_RAW instead.
; NEXTKEY() hidden parameter extension is disabled. Use HB_KEYNEXT()
Harbour alternative which has it.
; Some legacy PP functions are no more.
; hb_vmPushState()/hb_vmPopState() APIs were now permanently deleted.
; __STR*() token handling legacy functions are no more, use native HB_TOKEN*()
ones instead.
; WRITEBHEADER in USRRDD is no more, WRITEDBHEADER is the replacement.
; hbmysql, hbodbc compatibilty and deprecated functions were deleted
; hbwin compatibility functions were deleted. If there is demand, mainly to
help migrating xhb users, they can be readded to xhb lib by interested
developers, now deleted code should be changed to fall back to dummies
on non-Windows builds.
; some deprecated hbpgsql functions were deleted
; hbtip HB_BASE64() is deleted. Use core HB_BASE64ENCODE() instead.
; Anyone affected by above changes has the option to stick with 3.0.x Harbour
versions or to update their source code according to above instructions
(or instructions included in past ChangeLog entries)
; Some fallouts in Harbour build is possible after these changes
* 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.
* contrib/hbsqlit3/hdbcsqlt.prg
* contrib/hbpgsql/hdbcpg.prg
% Minor optimizations.
! Fixed RTEs by EXPORTing two object variables:
TSQLTStatement:pRes (used from HDBC code)
TSQLTResultSet:nRows
I'm not sure this is right solution, f.e. one of them
is used internally by HBODBC code.
* contrib/hbpgsql/postgres.c
+ Added PQPREPARE(), PQEXECPREPARED(). Based on code donated by
Lorenzo Fiorini. Modified to compile with current Harbour,
changed parameter handling and error checking, and changed
to return GC collected result pointer. (I didn't make any
tests, so pls do)
* contrib/hbpgsql/hbpgsql.hbp
- contrib/hbpgsql/pgrdd.prg
- contrib/hbpgsql/tests/tstpgrdd.prg
- Deleted experimental USRRDD for PGSQL.
* contrib/hbsqlit3/hbsqlit3.hbp
+ contrib/hbsqlit3/hdbcsqlt.prg
+ contrib/hbsqlit3/tests/hdbctest.prg
* contrib/hbpgsql/hbpgsql.hbp
+ contrib/hbpgsql/hdbcpg.prg
+ contrib/hbpgsql/tests/hdbctest.prg
+ Added code posted by Lorenzo Fiorini. Many thanks for this contribution.
It's JDBC-like classes to access PGSQL and SQLITE backends.
+ Cleanups to build in Harbour.
+ Added PROTECTED scope for all object variables. This cause at least
one failure in sqlt. see TOFIX section.
+ Changed to use PQconnectDB() instead of deprecated PQconnect()
+ Some formatting.
; TOFIX: These hbpgsql functions are required, but they are not yet
implemented in Harbour SVN:
PQPREPARE()
PQEXECPREPARED()
; TOFIX: Internal are accessing obj vars directly:
Error BASE/42 Scope violation (protected): TSQLTSTATEMENT:PRES
Called from TSQLTSTATEMENT:PRES(0)
Called from TSQLTRESULTSET:NEW(0)
Called from TSQLTSTATEMENT:EXECUTEQUERY(0)
Called from MAIN(91)
; TODO: Delete PQRDD experimental RDD from pgsql.
; TODO: Rename classes to begin with HDBC*
; TODO: Somehow we should ensure the class layout doesn't deviate from
a common standard. F.e. by inheritance, or I don't know if
Harbour has something like interfaces in OOP.
* contrib/hbtip/sendmail.prg
! Fixed to not add 'Bcc:' entry to e-mail headers, since this will
reveal all the supposedly secret addresses to all addressees.
It's interesting how such huge bug can persist for so long
time without anyone noticing.
Please test and correct if needed.
* contrib/sddpg/sddpg.c
+ Recognizing OIDOID column type. Patch from Aleksander Czajczynski.
* contrib/hbpgsql/postgres.c
% Minor opt.
* contrib/sddpg/sddpg.c
* contrib/hbpgsql/postgres.c
! Reverted previous fix because it didn't work on non-*nix platform.
- Deleted TOFIX comment, as apparently there is no better official way
to get these macros.
* contrib/hbpgsql/postgres.c
+ Added PQCONNECTDB() wrapper. Based on Tamas's patch, but implemented
little bit differently.
+ Extended PQCONNECT() (now deprecated compatibility function) to be more
flexible in accepting parameters and not create wrong low level call if
some of them are missing. Patch from Tamas, with my cleanups.
* Marked PQCONNECT() wrapper with HB_LEGACY_LEVEL3. It's now deprecated.
INCOMPATIBLE: Switch to PQCONNECTDB() ASAP.
* contrib/hbpgsql/tests/async.prg
* contrib/hbpgsql/tests/test.prg
* contrib/hbpgsql/tests/stress.prg
* contrib/hbpgsql/tpostgre.prg
+ Changed to use PQCONNECTDB() direct wrapper instead of PQCONNECT.
* INSTALL
* Documented how to [re]build one specific contrib package.
* INSTALL
* contrib/make.hbs
* Using 'contrib package' instead of 'contrib lib'.
* package/winuni/mpkg_win_uni_extra_copy.bat
* Do not install contrib utils sources anymore. If they
are important, they can be built as part of regular build
a shipped as binary.
* package/winuni/mpkg_win_uni_extra_copy.bat
* contrib/make.hbs
* contrib/hbqt/generator/hbqtgen.prg
- contrib/hbmysql/hbmysql.hbi
- contrib/hbmysql/Makefile
- contrib/gtalleg/gtalleg.hbi
- contrib/gtalleg/gtallegs
- contrib/gtalleg/Makefile
- contrib/hbct/Makefile
- contrib/sddmy/sddmy.hbi
- contrib/sddmy/Makefile
- contrib/hbodbc/Makefile
- contrib/xhb/Makefile
- contrib/sddfb/sddfb.hbi
- contrib/sddfb/Makefile
- contrib/hbtpathy/Makefile
- contrib/hbgt/Makefile
- contrib/hbsqlit3/Makefile
- contrib/hbmzip/Makefile
- contrib/hbblat/Makefile
- contrib/hbblat/hbblat.hbi
- contrib/hbqt/qtgui/qtguis
- contrib/hbqt/qtgui/Makefile
- contrib/hbqt/qtcore/qtcores
- contrib/hbqt/qtcore/Makefile
- contrib/hbqt/qtcore/filelist.mk
- contrib/hbqt/Makefile
- contrib/hbqt/detect.mk
- contrib/hbqt/filelist.mk
- contrib/hbqt/hbqts
- contrib/hbqt/gtqtc/gtqtcs
- contrib/hbqt/gtqtc/Makefile
- contrib/hbqt/moc.mk
- contrib/hbqt/qtnetwork/filelist.mk
- contrib/hbqt/qtnetwork/qtnetworks
- contrib/hbqt/qtnetwork/Makefile
- contrib/hbfbird/hbfbird.hbi
- contrib/hbfbird/Makefile
- contrib/sddpg/sddpg.hbi
- contrib/sddpg/Makefile
- contrib/hbziparc/Makefile
- contrib/hbxbp/Makefile
- contrib/hbbz2/Makefile
- contrib/hbblink/Makefile
- contrib/hbnf/Makefile
- contrib/hbcurl/hbcurl.hbi
- contrib/hbcurl/hbcurls
- contrib/hbcurl/Makefile
- contrib/hbmemio/Makefile
- contrib/hbxpp/Makefile
- contrib/hbfship/Makefile
- contrib/hbcups/Makefile
- contrib/rddbmcdx/Makefile
- contrib/hbfoxpro/Makefile
- contrib/hbnetio/Makefile
- contrib/rddsql/Makefile
- contrib/hbhpdf/hbhpdf.hbi
- contrib/hbhpdf/Makefile
- contrib/gtwvg/Makefile
- contrib/hbpgsql/hbpgsql.hbi
- contrib/hbpgsql/Makefile
- contrib/hbclipsm/Makefile
- contrib/rddads/rddads.hbi
- contrib/rddads/Makefile
- contrib/sddsqlt3/Makefile
- contrib/hbfimage/hbfimage.hbi
- contrib/hbfimage/Makefile
- contrib/sddodbc/Makefile
- contrib/hbgd/hbgd.hbi
- contrib/hbgd/Makefile
- contrib/hbmisc/Makefile
- contrib/sddoci/sddoci.hbi
- contrib/sddoci/Makefile
- contrib/hbcomm/Makefile
- contrib/hbtip/hbtipssl
- contrib/hbtip/Makefile
- contrib/hbcairo/hbcairo.hbi
- contrib/hbcairo/Makefile
- contrib/hbwin/Makefile
- contrib/hbssl/hbssls
- contrib/hbssl/hbssl.hbi
- contrib/hbssl/Makefile
- contrib/hbsms/Makefile
- Deleted references to .hbi and GNU Make files in contrib
area. Now hbmk2 is used here to create the targets.
This has a few consequences:
- From now on *.hbp / *.hbc files need to be updated
whenever files are added, deleted or renamed. Pls remember it.
- hbmk2 will have to be updated in sync with the GNU Make
system when adding new platforms and compilers.
- in-place 'make' won't work, pls see new method in
INSTALL. (it may still change)
* contrib/hbqt/hbmk2_plugin_qt.hbs
+ Do not pollute output with meaningless error message, when
HB_WITH_QT=no is used.
* contrib/hbpgsql/postgres.c
! Fixed msvc C mode warning. (this one is valid, though I
couldn't find out why this is only reported in C mode,
there are also some other seemingly unfixable warnings
reported in C mode.)
* contrib/hbpre.hbm
+ Will now enable C++ mode by default for msvc compilers,
to stay in since with GNU Make behavior.
* utils/hbmk2/hbmk2.prg
! Fixed to not rebase dirs passed to -deptimplibs options.
! Fixed to stay silent but still fail when dependencies
are forcefully disabled.
! Reorganized msvc compiler version dependent options to
better handle the case when no compiler version is present
(to go with the less risky option in such case)
* config/global.mk
+ Added msvc64 and msvcia64 version detection.
* Renamed one variable to avoid being same as new hbmk2 macro.
* config/postinst.hbs
* Minor in feedback text.
* utils/hbmk2/hbmk2.prg
+ Added mingw/mingw64 version detection. Not very extensively
tested.
+ Added -depimplibs=, -depimplibd cmdline options, and depimplibs=
and depimplibd .hbc options. They serve to configure automatic
(without stdalone .hbi file using -hbimplib) import library
generation for dependencies. The internal logic is the same,
but now implibs can be generated for multiple dependencies
at once, using pure .hbp files (or eveb .hbc for that matter).
+ Filters now also support '<' and '>' operators.
+ Filters will now expand internal macros before looking for
envvars.
+ Added HB_COMP_VER macro, returning compiler version.
! Fixed to handle "*.hbs" passed as option.
! Fixed to do entry detection also for .hbs files.
* contrib/make.hbs
- Temply disabled .hbi handling, now it's done by .hbp files.
! Refixed to skip hbhrb/hbppo projects in stdalone mode.
* contrib/hbqt/tests/testbrow.prg
* Updated with Bacco's 'testedit.prg' sent to the list.
* Formatting. (pls try to format it like this)
* contrib/hbpost.hbm
+ Enabled 'dynamicbase' and 'nxcompat' exe generation flags
for newer versions of msvc and mingw, to be in sync with
our GNU Make settings (and safety).
* contrib/xhb/hbcompat.ch
! Fixed some wrong xhb to Harbour translations reported by Rossine.
* contrib/hbide/hbide.hbp
% Deleted -gc3. It made the executable 2MBs larger.
Pls report any performance problems after this
change.
* contrib/gtalleg/gtalleg.hbp
* contrib/hbblat/hbblat.hbp
* contrib/hbcairo/hbcairo.hbp
* contrib/hbcurl/hbcurl.hbp
* contrib/hbfbird/hbfbird.hbp
* contrib/hbfimage/hbfimage.hbp
* contrib/hbgd/hbgd.hbp
* contrib/hbhpdf/hbhpdf.hbp
* contrib/hbmysql/hbmysql.hbp
* contrib/hbpgsql/hbpgsql.hbp
* contrib/hbssl/hbssl.hbp
* contrib/rddads/rddads.hbp
* contrib/sddfb/sddfb.hbp
* contrib/sddmy/sddmy.hbp
* contrib/sddoci/sddoci.hbp
* contrib/sddpg/sddpg.hbp
+ Added new switches to enabled automatic import library
generation without .hbi files.
Please note that this means that now HB_WITH_BLAT will
have to be set from now on for hbblat lib.
* config/global.mk
* Minor.
* config/win/watcom.mk
! Fixed to add .exe extension to watcom tools to make it work
in wine-based cross build situations. [pls note that watcom
can create cross builds using its native tools, so this is
just the cherry on top :)]
Patch provided by Tamas Tevesz.
* utils/hbmk2/hbmk2.prg
! Fixed to honor -stop option in -hbimplib mode.
! Fixed --hbinfo when there is missing dependency.
* contrib/hbmysql/hbmysql.hbi
* contrib/gtalleg/gtalleg.hbi
* contrib/sddmy/sddmy.hbi
* contrib/sddfb/sddfb.hbi
* contrib/hbblat/hbblat.hbi
* contrib/hbfbird/hbfbird.hbi
* contrib/sddpg/sddpg.hbi
* contrib/hbcurl/hbcurl.hbi
* contrib/hbhpdf/hbhpdf.hbi
* contrib/hbpgsql/hbpgsql.hbi
* contrib/rddads/rddads.hbi
* contrib/hbfimage/hbfimage.hbi
* contrib/hbgd/hbgd.hbi
* contrib/sddoci/sddoci.hbi
* contrib/hbcairo/hbcairo.hbi
* contrib/hbssl/hbssl.hbi
+ Added -stop option in case HB_WITH_* var is empty.
This helps reducing some clutter in build log output.
* contrib/make.hbs
! Fixed to clear target type detection result from previous
contrib (even though such case cannot happen if hbmk2
does it's job right)
* contrib/hbdoc2/gentpl.prg
* contrib/hbdoc2/gentxt.prg
* contrib/hbdoc2/tmplates.prg
* contrib/hbdoc2/genxml.prg
* contrib/hbdoc2/genhtml.prg
* contrib/hbdoc2/hbdoc2.prg
* contrib/hbdoc2/hbdoc2.ch
% Peeling off unused code and other cleanup work.
(didn't retest)
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
+ Added -instfile= option, instfiles= .hbc option and hbmk2 plugin
API to add new files to the list of files to be copied to
-instpath= targets. This option makes it possible to install
extra files along the target lib or exe itself, f.e. headers
or other supplementary files. This option only works for
-instpath= options which point to a dir (not a file).
* contrib/gtwvg/gtwvg.hbp
* contrib/hbblat/hbblat.hbp
* contrib/hbblink/hbblink.hbp
* contrib/hbbz2/hbbz2.hbp
* contrib/hbcairo/hbcairo.hbp
* contrib/hbclipsm/hbclipsm.hbp
* contrib/hbct/hbct.hbp
* contrib/hbcurl/hbcurl.hbp
* contrib/hbfimage/hbfimage.hbp
* contrib/hbfoxpro/hbfoxpro.hbp
* contrib/hbgd/hbgd.hbp
* contrib/hbhpdf/hbhpdf.hbp
* contrib/hbmysql/hbmysql.hbp
* contrib/hbmzip/hbmzip.hbp
* contrib/hbnf/hbnf.hbp
* contrib/hbodbc/hbodbc.hbp
* contrib/hbpgsql/hbpgsql.hbp
* contrib/hbqt/gtqtc/gtqtc.hbp
* contrib/hbqt/hbqt.hbp
* contrib/hbsqlit3/hbsqlit3.hbp
* contrib/hbssl/hbssl.hbp
* contrib/hbtip/hbtip.hbp
* contrib/hbtpathy/hbtpathy.hbp
* contrib/hbwin/hbwin.hbp
* contrib/hbxbp/hbxbp.hbp
* contrib/hbxpp/hbxpp.hbp
* contrib/rddads/rddads.hbp
* contrib/rddsql/rddsql.hbp
* contrib/xhb/xhb.hbp
+ Added -instfile= options for headers installed by Makefile.
; TODO: Make copying of headers to central dir unnecessary on
*nix platforms as well.
* contrib/makefile.hbs
* Updated TODOs.
* contrib/hbqt/gtqtc/gtqtc.hbp
% Deleted -pi= option.
* contrib/hbqt/gtqtc/gtqtcs/Makefile
* Not needed to install headers from secondary (static) Makefile.
* examples/gfspell/gfspell.hbp
* examples/gtwvw/gtwvw.hbp
* examples/hbapollo/hbapollo.hbp
* examples/hbbtree/hbbtree.hbp
* examples/hbdoc2/hbdoc2.hbp
* examples/hbextern/hbextern.hbp
* examples/hbsqlit2/hbsqlit2.hbp
* examples/hbvpdf/hbvpdf.hbp
* examples/ps32/ps32.hbp
* examples/rddado/rddado.hbp
* examples/superlib/superlib.hbp
+ Added -instfile= options for headers installed by Makefile.
+ Added -w option where missing.
- Deleted -q0, -l where present.
+ Synced output setup with contribs.
! Added hbxpp.hbc reference for ps32.
+ Added dependency detection for hbsqlit2, hbapollo.
! hbdoc2 GT changed to GTCGI.
; Now the contrib and examples .hbp files are completely on the same
feature level.
* 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('
* utils/hbmk2/hbmk2.prg
+ Will now ignore current and host directory when looking
for system headers (<>) in header dependency finder code.
+ contrib/hbmysql/hbmysql.hbp
+ contrib/sddmy/sddmy.hbp
+ contrib/sddfb/sddfb.hbp
+ contrib/sddpg/sddpg.hbp
+ contrib/hbcups/hbcups.hbp
+ contrib/hbpgsql/hbpgsql.hbp
+ contrib/rddads/rddads.hbp
+ contrib/hbfimage/hbfimage.hbp
+ contrib/hbgd/hbgd.hbp
+ contrib/sddoci/sddoci.hbp
+ contrib/hbcairo/hbcairo.hbp
+ Added new hbmk2 make files.
* contrib/hbgd/Makefile
- Deleted some information from cmoment. (now included in INSTALL)
* contrib/hbcairo/hbcairo.h
* Formatting.
+ contrib/gtalleg/gtalleg.hbi
+ contrib/hbblat/hbblat.hbi
+ contrib/hbcairo/hbcairo.hbi
+ contrib/hbcurl/hbcurl.hbi
+ contrib/hbfbird/hbfbird.hbi
+ contrib/hbfimage/hbfimage.hbi
+ contrib/hbgd/hbgd.hbi
+ contrib/hbhpdf/hbhpdf.hbi
+ contrib/hbmysql/hbmysql.hbi
+ contrib/hbpgsql/hbpgsql.hbi
+ contrib/hbssl/hbssl.hbi
+ contrib/rddads/rddads.hbi
+ contrib/sddfb/sddfb.hbi
+ contrib/sddmy/sddmy.hbi
+ contrib/sddoci/sddoci.hbi
+ contrib/sddpg/sddpg.hbi
+ Added local import library generation hbmk2 make files
to each contrib which requires it.
* config/postinst.prg
+ Changed to use contrib local implib creation hbmk2 scripts to
create import libraries.
- Deleted mingw exception for ocilib to use the static library.
Static lib is definitely better, but if someone would like to
use it, it should be done locally/manually, just like for any
other dependency.
+ Solved firebird implib creation hack/exception in contrib
local .hbi file.
; These fix the last "centralization" issues in Harbour make system.
Still remains documentation problem (everything is in INSTALL),
and *nix .deb/.rpm centralized solution for contrib dependencies
and contrib names in general.
* utils/hbmk2/hbmk2.prg
+ Combining multiple -o options (one with name, one with directory)
is now supported in -hbimplib mode. This makes it work like in
other existing modes.
! Fixes regarding -o option combining and dir inheritance.
(beware of regressions here)
* contrib/gtalleg/gtalleg.hbc
* Changed to use import library on Windows with an unmodified name
(containing version).
* src/rtl/hbcom.c
! Fixed one non-ANSI comment.
* ChangeLog
+ Added two changes missed from prev entry:
* utils/hbmk2/hbmk2.prg
+ In -hbimplib mode any options are automatically passed to
import library creation command (so -iflag option is not
absultely needed)
- Deleted -mkimplibms option now replaces by generic -iflag
solution.
! Stripped UTF-8 char from a recent entry.