+ config/hbc.cfg
+ Added .c source formatter config file for uncrustify source code formatter,
tailored to mimic Harbour C formatting style.
http://uncrustify.sourceforge.net/
This tool looks very promising to save manual formatting time.
(in our case it's useful for new code, existing code is mostly
quite well formatted in most parts)
; WARNING: The config is currently at experimental stage (IOW it's
not perfect), so don't use it to format any existing
Harbour source, but you may try it with your local source
which you want to submit or see how would it look in
Harbour-style.
* contrib/hbtip/url.prg
! Fixed to store passed url in :cAddress VAR.
Like with most Harbour OOP code, this simple change may
introduce hard-to-detect imcompatibility,
so check your code.
- contrib/rddbm/rddbmcdx.hbp
+ contrib/rddbm/rddbm.hbp
- contrib/rddbm/rddbmcdx.hbc
+ contrib/rddbm/rddbm.hbc
! Renamed too.
* src/codepage/cpsk852.c
* src/codepage/cpskiso.c
* src/codepage/cpskwin.c
* Trying to add digraphs. (doesn't work here, but can't find out why)
; TODO: Update Kamenicky. (can't even do it with hb_translate(),
as it's messed up the first time I edit it.
; TODO: Apply final fixes to CS CPs.
* contrib/sddoci/sddoci.hbp
+ Added support for implib creation for win x64 targets.
* package/winuni/RELNOTES
* OCILIB version update.
* contrib/rddbm/bmdbfcdx.c
* contrib/hbhttpd/core.prg
* contrib/hbhttpd/widgets.prg
* Formatting.
* config/global.mk
! HB_INSTALL_PREFIX now defaults to /opt/harbour (instead of /usr/local)
on darwin systems. (not tested)
/opt/local is for MacPorts, plus /opt/harbour is the location
hardcoded into hbmk2 for .hbc autofind, so I opted for the latter.
* contrib/hbhttpd/core.prg
* Formatting.
* contrib/hbhttpd/core.prg
* contrib/hbhttpd/tests/webapp.prg
* contrib/hbhttpd/readme.txt
* contrib/hbhttpd/widgets.prg
! Fixed RTE when trying to open an directory which
is not a mount point.
* Renamed server:aMount -> hMount
* Formatting.
* contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp
* HB_TR_ALWAYS -> HB_TR_DEBUG
* include/hbapi.h
* src/common/hbver.c
+ Added hb_iswin2k3().
* src/rtl/hbsocket.c
+ Comment.
; TOFIX: Use SO_EXCLUSIVEADDRUSE on Windows.
See: http://paste.lisp.org/display/59751
- examples/udpds
+ contrib/hbmisc/tests/udpdstst.prg
+ contrib/hbmisc/udpds.prg
* contrib/hbmisc/hbmisc.hbp
+ Moved UDPDS functions to hbmisc lib. Added hb_ prefix to names,
plus formatted with hbformat.
* contrib/hbhttpd/tests/webapp.prg
* Formatting.
; Patch from Tamas:
* config/bsd/gcc.mk
* config/bsd/clang.mk
* switch bsd to -fPIC, otherwise not even core builds (on 8.1/amd64)
* while there, bring bsd/gcc.mk in line with linux/gcc.mk (now they
are identical)
* ditto for bsd/clang.mk
* contrib/hbqt/hbqt_common.hbc
* for hbqt, switch static supc++ to dynamic stdc++, otherwise dyn hbqt
doesn't build. this is because on at least fbsd supc++ is apparently
not pic; but switching from static supc++ to dynamic stdc++ easily
fixes it.
* harbour/src/rdd/dbf1.c
* harbour/src/rdd/sdf1.c
* harbour/src/rdd/delim1.c
* harbour/src/rdd/dbffpt/dbffpt1.c
* harbour/src/rdd/dbfntx/dbfntx1.c
* harbour/src/rdd/dbfnsx/dbfnsx1.c
* harbour/src/rdd/dbfcdx/dbfcdx1.c
* harbour/contrib/rddads/adsx.c
* harbour/contrib/rddbmcdx/bmdbfcdx.c
* harbour/contrib/rddsql/sqlbase.c
* harbour/contrib/rddsql/sqlmix.c
* harbour/contrib/sddmy/sddmy.c
* harbour/contrib/sddfb/sddfb.c
* harbour/contrib/sddpg/sddpg.c
* harbour/contrib/sddoci/sddoci.c
* harbour/contrib/sddodbc/sddodbc.c
* harbour/contrib/sddsqlt3/sddsqlt3.c
* harbour/include/harbour.hbx
* harbour/contrib/rddads/rddads.hbx
* declare *_GETFUNCTABLE() functions as static - they do not have to
be public C functions
* simplified if possible RDD registration code and modified
supper RDD request method so it's not stripped by compiler
when hb_errInternal() function is declared with NORETURN
attribute
* contrib/hbplist
+ Enabled new rddbmcdx.
* contrib/rddbmcdx/bmdbfcdx.c
! Fixed typo in a pointer type.
* contrib/hbmagic/hbmagic.ch
! Fixed to use hb_bitOr().
; Patch from Tamas:
* contrib/hbmagic/tests/hbmagit.prg
+ Added two more tests.
* bin/hb3rdpat.hbs
! Fixed past patch/manual editing error.
+ contrib/hbmisc/irm.c
* contrib/hbmisc/hbmisc.hbp
+ Added IRM (Independent Record Map) API contributed
and donated to public domain by Mindaugas.
- IRMEXECUTE( aFilterTree ) --> pMap
Condition array syntax:
{ operation, tag, bag, value }
F.e.:
IrmExecute( { "&", { "<=", "date",, 0d20100101 }, { "=", "place",, 12 } } )
- IRMMAPNEXT( pMap, @ulRecNo ) --> lFound
- IRMMAPSKIP( pMap, @ulRecNo ) --> lFound
- IRMMAPCOUNT( pMap ) --> nRecCount
(function names may change in the recent future)
+ Added 'NO GUARANTEES" disclaimer on top. (pls refine it if needed)
! Some minor tweaks to compile with current Harbour.
! Casts for win64.
* Changed to use Harbour types, and minor cleanups in variable scopes.
% Added optimized bit counting to hb_irmMapCount(). (it was a TODO)
Mindaugas, pls take a look at it and/or test it with real code.
+ harbour/contrib/rddbmcdx
+ harbour/contrib/rddbmcdx/rddbmcdx.hbp
+ harbour/contrib/rddbmcdx/rddbmcdx.hbc
+ harbour/contrib/rddbmcdx/bmdbfcdx.c
+ added new alternative BMDBFCDX implementation which respects RDD
inheritance scheme and gives similar functionality and PRG functions
as modified by Miguel Angel Marchuet <miguelangel@marchuet.net> DBFCDX
with directly hardcoded bitmap filters.
This code is completely new implementation and does not contain
any code created by Miguel.
This RDD inherits from DBFCDX so it's called BMDBFCDX anyhow
it can inherit from any other RDDs so if users are interesting
I can add also BMDBFNTX and BMDBFNSX.
I haven't time of any deeper tests so please make them.
* INSTALL
+ contrib/hbmagic
+ contrib/hbmagic/hbmagic.hbp
+ contrib/hbmagic/hbmagic.hbc
+ contrib/hbmagic/hbmagic.ch
+ contrib/hbmagic/hbmagic.c
+ contrib/hbmagic/hbmagis.prg
+ contrib/hbmagic/tests
+ contrib/hbmagic/tests/hbmk.hbm
+ contrib/hbmagic/tests/hbmagit.prg
+ Added wrapper for libmagic library.
; Many thanks to Tamas Tevesz for creating it
(and making it so that it needed no extra tweaks
to be SVN ready)
* contrib/hbplist
+ Added hbmagic to contrib list.
* contrib/rddbm/hbrddbm.h
* contrib/rddbm/bmdbfcdx.c
+ Brute force patching. Trying to make it build by any cost. Now it does.
- Disabled wildseek related stuff, which was reaching
deeply into cdx internals. (seems redundant now that core has this
feature, though maybe this knows something extra?)
- Commented (with non-ANSI comments) everything touching cdx tags.
- Changed to use AREAP instead of CDXAREAP.
- Changed to determine recno using official way instead
of going deep into internal structure.
- Some of these are for sure wrong. Maybe all.
- Deleted core filter data replicated in BM specific structure.
- Indention, formatting.
* harbour/src/rtl/fstemp.c
* enabled mkstemp() usage in *nix OpenWatcom 1.8 and newer builds
* harbour/src/rtl/hbsocket.c
* disabled getpeername() and shutdown() usage in OpenWatcom *nix
builds only for OpenWatcom <= 1.9
* harbour/src/rtl/diskspac.c
* minor formatting
* harbour/src/rtl/hbproces.c
* enabled sysconf() hack only for OpenWatcom <= 1.9
* harbour/src/rtl/hbcom.c
* disabled OpenWatcom *nix builds only for OpenWatcom <= 1.9
; it's possible that above modifications will cause error if problems
are not fixed in newer OpenWatcom releases but in such case we can
simply change to OW number in #if condition.
* contrib/hbhttpd/core.prg
* contrib/hbhttpd/widgets.prg
* contrib/hbhttpd/tests/webapp.prg
+ Added :bTrace block to server class.
+ Changed to use bTrace block for any trace output,
meaning there is no explicit '?' command anymore
in server lib.
* utils/hbmk2/hbmk2.prg
! Fixed typo causing not recognized -hbl (without parameter)
resetting option. Thanks to Mindaugas for the find.
* contrib/hbhttpd/core.prg
! Changed UErrorHandler() to not issue a BREAK, to avoid
new Harbour compiler behavior making it impossible
to close a PROCEDURE with RETURN.
* contrib/hbhttpd/log.prg
* Reworked a little bit.
- contrib/rddbmcdx
+ contrib/rddbm
* Renamed.
; It's still a lie though. This is broken RDD now. If we
won't have any contributor picking this up from this
stage. This contrib will be moved to examples.
- contrib/rddbmcdx/rddbmcdx.hbp
+ contrib/rddbmcdx/rddbm.hbp
- contrib/rddbmcdx/rddbmcdx.hbc
+ contrib/rddbmcdx/rddbm.hbc
- contrib/rddbmcdx/hbbmcdx.h
+ contrib/rddbmcdx/hbrddbm.h
* contrib/rddbmcdx/bmdbfcdx.c
* Renaming to make it index-type agnostic.
* Trying to hunt down "CDX" in source code.
Huge quanity of them remain.
* contrib/hbhttpd/core.prg
! Fixed unreachable code after BREAK.
* contrib/hbplist
* contrib/rddbmcdx/bmdbfcdx.c
* contrib/rddbmcdx/hbbmcdx.h
- Deleted all redundant code from this RDD.
Made some changes towards inheritance support, but
I cannot continue from there and in its current form
it doesn't build, due to interdependencies and other
stuff which I don't understand.
* Disabled this contrib.
; TODO: Rename it to rddbm.
* src/rdd/dbfcdx/dbfcdx1.c
+ Added DBOI_TEMPLATE, DBOI_MULTIKEY related code from
bmcdx. It's commented.
* contrib/rddbmcdx/bmdbfcdx.c
* Resynced with core.
This also means that DBOI_TEMPLATE, DBOI_MULTIKEY
are now commented here, too.
- Deleted HB_BMCDXTURBO build-time "turbo" option.
* Formatting/Indenting in patched areas.
; Now the patched areas can be clearly seen.
* contrib/rddbmcdx/bmdbfcdx.c
* Synced with core.
; Also some formerly disputed features are synced.
; TODO: To remove the "turbo" feature from BMCDX, because
it blocks the way from inheritance and its also
an unsafe optimization, which can potentially
corrupt databases, if not used with care
(and I bet not many users know the exact definition
of 'care')
; QUESTION: What is DBOI_TEMPLATE, DBOI_MULTIKEY?
They are suppored in BMCDX, but not in core.
* src/rdd/dbfnsx/dbfnsx1.c
* src/rdd/dbfcdx/dbfcdx1.c
* Added some casts.
* contrib/hbhttpd/tests/webapp.prg
- Deleted unused headers.
* Using FIELD-> alias, instead of FIELD command.
* contrib/hbhttpd/hbhttpd.hbp
+ contrib/hbhttpd/log.prg
+ Added simple logger class.
* contrib/hbhttpd/core.prg
* contrib/hbhttpd/tests/webapp.prg
+ Changed logging. Now core provides callbacks for
logging and doesn't do any logging on its own.
* contrib/hbhttpd/widgets.prg
* contrib/hbhttpd/tests/webapp.prg
* Renamed one public function to have 'U' prefix.
* utils/hbrun/hbrun.prg
! Do not process HB_INSTALL_INC to find external headers.
This envvar is no longer supported and it only makes
things more difficult now that hbrun has embedded headers.
Also removed adding the host dir of input .hbs/.prg file
as -I option (it's processed automatically by compiler).
So now hbrun uses exactly the same rules as harbour
compiler to find headers.
* harbour/src/rdd/dbfcdx/dbfcdx1.c
! fixed wrongly used SUPER_DELETED() instead of SELF_DELETED()
* harbour/src/rdd/ordwldsk.c
! cleaned typo in error code used by OrdWildSeek() when wrong
parameters are passed
* contrib/rddbmcdx/bmdbfcdx.c
* contrib/rddbmcdx/hbbmcdx.h
* Synchronized with current dbfcdx.
* BMTurbo capabilitie can be activated with MACRODEFINE HB_BMCDXTURBO.
* contrib/hbgd/gd.ch
* contrib/hbgd/hbgd.hbx
* contrib/hbgd/gdwrp.c
+ Added HB_GD_VERSION( @maj, @min, @rel ) function to return GD version
hbgd was built against.
- Deleted GD2_VERS and GD2_ID constants.
* contrib/hbgd/hbgd.hbx
* contrib/hbgd/gdchart.prg
* contrib/hbgd/gdbar.prg
* contrib/hbgd/gdbarcod.prg
* Indenting.
* Some formatting.
! Replaced tabs with spaces.
% Optimized out and deleted public function named ISINT().
Caller seems wrong BTW.
* contrib/hbodbc/odbc.c
! Variables renamed to reflext their real type.
! More type related cleanups.
! Fixed remaining cases where return buffers
were not initialized to empty string.
* contrib/hbodbc/odbc.c
! Fixed remaining wrappers to not make decisions based on
result returned by C level ODBC function, and always
pass everything back as is.
% Applied minor optimization as a result of above.
! Deprecated SQLEXECUTESCALAR() fixed to initialize buffer
and length before calling C level ODBC function.
! Fixed one double assignment typo from prev commit.
* 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/hbgd/tests/tpoly.prg
+ Applied PI patch from Tamas.
* contrib/hbgd/gd.ch
! Changed tabs to spaces.
* Formatting.
- Deleted GD_VERS which was not working and its wrong concept
anyway.
* contrib/hbgd/gdwrp.c
! Fixed to always define all wrappers regardless of GD version.
* contrib/hbgd/gdimage.prg
! Deleted reliance on GD_VERS.
* contrib/hbodbc/odbc.c
! SQLEXECUTESCALAR() marked with HB_LEGACY_LEVEL3. Do no use this
function. It's not a direct ODBC function wrapper and it
internally calls SQLGetData with a fixed SQL_CHAR type, which
is wrong.
! SQLGETDATA() fixed to default some parameters properly (so far
it was checking for zero value instead of looking at Harbour
type). Potentially incompatible change.
! SQLROWCOUNT() fixed to always return value by reference.
(it's not wrapper's job to check success value and act anything
depending on it).
; TOFIX: There are some more wrappers which do that: SQLDESCRIBECOL(),
SQLCOLATTRIBUTES(), SQLGETCONNECTATTR(), SQLGETSTMTATTR().
% SQLROWCOUNT(), SQLGETINFO(), SQLNUMRESULTCOLS(), SQLCOLATTRIBUTE(): Minor optimization.
! SQLGETINFO(), SQLNUMRESULTCOLS(), SQLGETSTMTATTR(), SQLSETCONNECTATTR(),
SQLGETCONNECTATTR(), SQLDESCRIBECOL(): Setting initial value to parameter retrieved by reference.
! SQLDESCRIBECOL(), SQLCOLATTRIBUTE(): fixed to not crash if wrong length is passed.
* contrib/hbodbc/todbc.prg
% TODBC:LoadData() got some minor optimizations.
* TODBC:LoadData() changed to be able to retrieve fields with
length of 256, instead of 64. This is still hack and should
be fixed to retrieve full length.
! TOFIX: TODBC:LoadData() to pull data in its original type
instead of pulling everything as string, then trying
to convert it back to original type.
* src/rtl/dircmd.prg
! Typo in comment.
* include/hbcpage.hbx
* src/codepage/Makefile
+ src/codepage/cpsk852c.c
+ Added Clipper compatible Slovak collation.
* src/codepage/cpsk852.c
* src/codepage/cpskkam.c
* src/codepage/cpskiso.c
* src/codepage/cpskwin.c
! Fixed Slovak collation.
; INCOMPATIBLE: All users using any of the above codepages will
have to reindex.
; Thanks to Julius Bartal for sorting it out.