* 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.
* harbour/src/rdd/dbfntx/dbfntx1.c
* harbour/src/rdd/dbfnsx/dbfnsx1.c
* harbour/src/rdd/dbfcdx/dbfcdx1.c
* harbour/contrib/rddads/ads1.c
* casting cleanup
* harbour/contrib/hbssl/ssl.c
* use hb_itemGetWriteCL() instead of hb_itemUnShareString()
! do not allow to overwrite trailing 0 in string item - we
have such code in FREAD() which uses hb_parcsize() instead
of hb_parclen() but only for strict compatibility with CL5.x
FREAD() function and it should not be replicated in any other
code - strings without trailing 0 may cause GPF in some other
code uisng [hb_]str*() C functions.
* src/rtl/sha1.c
* Settling back to original version of some lines.
- contrib/hbgd/tests/tpoly.hbp
- contrib/hbgd/tests/tpolyc.c
- Using hbct functions with same name, so this is not needed.
* contrib/hbgd/tests/tpoly.prg
* Applied patch from Tamas.
* Since final patch didn't apply I went on to rename static
vars to have s_ prefix.
* contrib/hbgd/tests/gdtest.prg
* contrib/hbgd/tests/barms.prg
* contrib/hbgd/tests/bartest.prg
* contrib/hbgd/tests/gdtestcl.prg
* contrib/hbgd/tests/tostring.prg
* contrib/hbgd/tests/animgif.prg
* contrib/hbgd/tests/testdpi.prg
* contrib/hbgd/tests/test.prg
* contrib/hbgd/tests/counter.prg
* contrib/hbgd/tests/antialia.prg
* Using hb_ps(). Patch from Tamas.
* src/rtl/sha1hmac.h
* src/rtl/sha1hmac.c
* src/rtl/hbsha1.c
* src/rtl/hbsha1hm.c
* src/rtl/sha1.c
* src/rtl/sha1.h
* Reverted previous two fix attempts (for the most part) and replaced
it with patch posted by Przemek. This fixes low level SHA1 code,
and it's the efficient solution.
* src/rtl/sha1hmac.h
* src/rtl/sha1hmac.c
* src/rtl/hbsha1.c
* src/rtl/hbsha1hm.c
! Futher fixes to 'const controversy' (which in my terms meant
'wrong usage of const'). Didn't make extensive tests (pls do)
and this change makes SHA1 functions very inefficient for large
input buffers. Either we should remove this, or find a proper
implementation which doesn't tamper with the input buffer
internally.
Pls note that after these changes SHA1 functions will RTE if
any input parameter is not string.
+ contrib/hbgd/tests/tpoly.hbp
+ contrib/hbgd/tests/tpoly.prg
+ contrib/hbgd/tests/tpolyc.c
+ Added GD sample submitted to the list by Tamas.
(I converted tabs to spaces, rename a file, cleaned the hbp file,
and changed to std SVN header format)
* harbour/contrib/rddads/ads1.c
! fixed varchar support for windows introduced in one of last commits
; Varchar is not working, if ADS is set to use "OEM charset support",
because AdsGetFieldRaw() returns raw field data and maximum field
length value is always returned.
ADS_USE_OEM_TRANSLATION is actually ugly hack to solve some DOS/WIN
codepage issues. I'm not sure what was the reason to introduce it.
Sharing the same database between DOS and Windows app or what?...
It would be nice if someone who need this setting will test and
support logic in case of variable string, binary string, unicode
string.
* harbour/ChangeLog
* marked may last TODO note as DONE - thanks to Viktor and Mindaugas
* harbour/include/hbmacro.h
! added missing const in hb_macroGenPCodeN() declaration
* harbour/include/hbapi.h
* added const to HB_CODEBLOCK.pCode
* harbour/include/hbcompdf.h
! added missing const to HB_MACRO.string
* harbour/src/pp/ppcore.c
* harbour/src/common/hbstr.c
* harbour/src/compiler/hbmain.c
* harbour/src/compiler/hbfix.c
* harbour/src/compiler/complex.c
* harbour/src/compiler/hbdead.c
* harbour/src/compiler/genc.c
* harbour/src/compiler/hbident.c
* harbour/src/compiler/gencc.c
* harbour/src/compiler/hblbl.c
* harbour/src/compiler/harbour.yyc
* harbour/src/compiler/harbour.y
* harbour/src/compiler/harbour.yyh
* harbour/src/vm/macro.c
* harbour/src/vm/codebloc.c
* harbour/src/vm/itemapi.c
* harbour/src/vm/hvm.c
* harbour/src/rtl/hbjson.c
* harbour/src/rtl/sha1.c
* harbour/src/rtl/sha2hmac.c
* harbour/src/rtl/hbsocket.c
* harbour/src/rtl/hbbffnc.c
* harbour/src/rtl/itemseri.c
* harbour/src/rtl/filebuf.c
* harbour/src/rtl/hbbfish.c
* harbour/src/rtl/gttrm/gttrm.c
* harbour/src/rdd/workarea.c
* harbour/src/macro/macrolex.c
* harbour/src/rdd/usrrdd/usrrdd.c
* cleaned const pointer casting
* harbour/src/rdd/usrrdd/usrrdd.c
! fixed very serious bug located during const pointer cleanup
which should cause GPF on user code creating indexes
* harbour/src/rtl/sha2.c
* minor formatting
; TOFIX: Seems that there is sth wrong with src/rtl/sha1.c.
Function SHA1_Transform() wrongly declares 2-nd parameter
buffer[64] as const when in fact it changes it what can be
seen if
BYTE64QUAD16 *block;
is changed to:
const BYTE64QUAD16 *block;
This casting which removes const hides potentially very serious
bug - modifying readonly memory area. SHA1_Transform() changes
the buffer so the 2-nd parameter must be declared without const.
After such modification C compiler should warn when const buffers
are passed to this function and such places should be fixed.
In fact it seems to be only line 136:
SHA1_Transform(context->state, &data[i]);
Viktor can you look at it and fix the code?
* harbour/include/Makefile
* hbjson.h included
* harbour/include/hbcpage.hbx
* HB_CODEPAGE_LT775 included
* harbour/ChangeLog
! fixed UTC offset for my ChangeLog entries
* 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/hbtip/sendmail.prg
* contrib/hbtip/mail.prg
! Fixed various ages-old bugs in recipient list handling.
; TOFIX: BEWARE to all users. BCC is NOT actually blind in this
implementation. If someone has an idea how to fix this
bug, pls shout.
* harbour/contrib/hbct/bitnum.c
! fixed && operator wrongly used instead of & in function NumMirr()
* harbour/contrib/rddads/ads1.c
* removed variable declaration which was hiding other one
with the same name
* harbour/src/rtl/hbdyn.c
* harbour/src/rtl/gtsln/mousesln.c
* harbour/src/rtl/gtsln/kbsln.c
* harbour/tests/bldtest/bldtest.c
! aded mising ( void ) to declarations of functions
without parameters ()
* 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.