* bin/commit.hb
! fixed for *nix systems
* contrib/hbodbc/tests/testodbc.prg
+ added test for double opening
* ChangeLog
% moved copyright notice to end of file
+ added change markup quick reference to header
* doc/howtorep.txt
* synced wording with above
* extras/hbxlsxml/tests/example.prg
* do not use WITH OBJECT in its current form
* src/rtl/gtsln/Makefile
+ added option needed for AIX. Reported by Luiz.
* utils/hbmk2/hbmk2.prg
* minor change in wording in help
+ added help note about incompatibility of Clipper binary objects/libs
* tests/fixcase.hb
% one exception removed
+ some others documented
* contrib/gtwvg/tests/_activex.prg
* contrib/gtwvg/tests/_tbrowse.prg
* contrib/gtwvg/tests/_utils.prg
* contrib/gtwvg/tests/demowvg.prg
* contrib/gtwvg/tests/demowvg1.prg
* contrib/xhb/trpccli.prg
* utils/hbtest/rt_math.prg
* rerun after removing one exception permanently,
another temporarily.
* contrib/hbodbc/hbodbc.hbx
* contrib/hbodbc/odbc.c
- Deleted SQLBINDPARAMETER(). Thus resolving the TOFIX,
and after reading more about this function, it serves
to bind stmt parameter to C memory buffers, where those
bindings remain active for the lifetime of the stmt or
the next call to this function. Such behavior is not so
much useful for high level languages, and it'd be quite
complicated to solve (f.e. by keeping an array or hash
around, attached to the stmt handle) compared to what
it offers. Anyways, if someone feels like giving it a
go, pls do.
* harbour/contrib/hbodbc/odbc.c
! fixed length of string parameters passed to ODBC functions.
This code was using hb_parclen() for strings translated to other
encoding by O_HB_PARSTRDEF() - it's a bug - translation may completely
change the string length and the final ones can be shorter or longer
then value returned by hb_parclen(). The last parameter in these macro
is a pointer to HB_SIZE item which may received the size of converted
string and this value should be use. If some other code also uses
similar hb_parclen()/hb_itemGetCLen() for translated string (i.e.
code using hbwinuni.h macros) then it has to be fixed.
! fixed the code to respect manual call to SQLDisconnect() which
discards associated statement handles
% eliminated repeated calls to extract handles from pointer items
; TOFIX: add protection against calling SQLConnect() with hDbc handle
which is already in connected state. Possible solutions:
- forbid such operation
- execute SQLDisconnect() inside SQLConnect()
; TOFIX: hb_parc() pointer is passed as write buffer inside
SQLBindParameter()
; Please make real test. I made this modifications without any real
test. I do not have access to any ODBC server here.
+ contrib/xhb/xhbctbit.c
* contrib/xhb/xhb.hbp
* contrib/xhb/xhb.hbx
+ implemented NUM*X() function from xhb, which
are there present in CT lib as extensions. In
Harbour they are in xhb lib.
Adapted types, missing functions, some cleanups
and uncrustify.
* src/rtl/gtwvt/gtwvt.c
* src/rtl/gtwvt/gtwvt.h
! made gfx drawing functions work again by disabling
compositing on the first drawing call
* contrib/hbodbc/hbodbc.hbp
+ enabled automatic MM after Przemek's changes.
For me however, both odbcdemo.prg and testodbc.prg
GPFs on exit. Maybe it's related to SQLDisconnect()
calls?
* contrib/hbodbc/odbc.c
! SQLALLOCENV() after my prev change to use ODBC 3 APIs
to call some weird API to avoid an error.
* contrib/hbodbc/tests/testodbc.prg
* contrib/hbodbc/todbc.prg
* disabled manual memory management hacks on
prg level
* contrib/rddsql/hbrddsql.h
* contrib/sddfb/sddfb.c
! uncrustified
* doc/howtorep.txt
+ added reference to commit.hb
* contrib/gtwvg/class.prg
* contrib/gtwvg/gtwvg.hbx
* contrib/gtwvg/menubar.prg
* contrib/gtwvg/paint.prg
* contrib/gtwvg/syswnd.prg
! fixed few casing and where it was used
* extras/gtwvw/gtwvw.hbx
* extras/gtwvw/wvt2wvw.ch
! fixed few casing and where it was used
* contrib/hbgd/gd.ch
* minor
* harbour/contrib/hbodbc/odbc.c
* unlock sub-handle pointer items - it can be safely done
because these items are marked as used inside parent item
GC mark function.
; This code using pointer items is a little bit more complicated
then it has to be.
In current code pointer items can keep references only to other
pointer items in the form which cannot create cyclic reference.
They also do not have any references to codeblocks, arrays,
objects, hashes or any other complex items set by user which
may create indirectly cyclic reference. In such case it's
possible to eliminate all GC mark functions and use directly
items allocated by hb_itemNew() without unlocking them with
hb_gcUnlock(). By default all items allocated by hb_itemNew()
are locked so GC automatically mark them and their GC memory
blocks as used.
It does not cause any speed or memory overhead so I left it
as example for more complicated cases and as base for some
potential extensions.
* harbour/include/hbapi.h
* harbour/src/vm/cmdarg.c
! fixed to compile without UNICODE macro
+ added new C functions: hb_cmdargBaseProgName(), hb_cmdargPushArgs()
* marked places which needs TCHAR conversions in MS-Windows builds
* harbour/src/vm/hvm.c
* use hb_cmdargPushArgs()
* harbour/src/rtl/hbproces.c
! fixed to compile without UNICODE macro
* harbour/src/rtl/gtxwc/gtxwc.c
* modified code to set window title to always operate on UTF8 values
* use hb_cmdargBaseProgName()
* harbour/src/rtl/gtwvt/gtwvt.c
* harbour/contrib/gtwvg/gtwgud.c
* harbour/contrib/gtwvg/gtwvgd.c
* harbour/contrib/gtalleg/gtalleg.c
* harbour/extras/gtwvw/gtwvwd.c
* use hb_cmdargBaseProgName()
* harbour/contrib/hbodbc/odbc.c
! keep references to parent handles in sub-handles pointer structures
; please make real life tests if it works correctly
* contrib/hbct/doc/en/*.txt
* contrib/hbgd/doc/en/hbgd.txt
* contrib/hbgt/doc/en/hbgt.txt
* contrib/hbmisc/doc/en/*.txt
* contrib/hbnf/doc/en/*.txt
* contrib/hbnf/tests/*.prg
* contrib/hbziparc/doc/en/hbziparc.txt
* contrib/rddads/doc/en/*.txt
* doc/en/*.txt
* extras/gtwvw/docs/*.txt
* synced casing of .prg level function names
with .hbx files, even if those are in docs,
comments or strings.
* contrib/hbformat/hbfmtcls.prg
+ added new TODO to add space between '!'
operator and single (= not parenthesised) arguments.
* contrib/hbfimage/fi_wrp.c
* minor
* contrib/hbodbc/odbc.c
! fixed to build under ODBC 1.x, 2.x
! fixed to use ODBC 3.x functions instead of
deprecated functions.
* minor cleanups to prev
* contrib/sddodbc/sddodbc.c
! fixed to build under ODBC 1.x, 2.x
* README
+ added note that hbrun scripts are started
in UTF-8 mode.
+ added command lines for formatting C and PRG sources
* minor cleanups
* contrib/hbnf/doc/en/cint86.txt
* contrib/hbnf/ftmenuto.ch
* contrib/xhb/html.ch
* contrib/xhb/htmlform.ch
* extras/gtwvw/docs/funclist.txt
* extras/gtwvw/docs/gtwvw.txt
* extras/gtwvw/docs/whatsnew.txt
* extras/gtwvw/gtwvwd.c
* extras/gtwvw/tests/ebtest7.prg
* extras/gtwvw/tests/prog0.prg
* extras/gtwvw/tests/prog1.prg
* extras/gtwvw/tests/prog2.prg
* extras/gtwvw/tests/wvwtest9.prg
* src/rtl/achoice.prg
* src/vm/thread.c
* website/samples/testcgi.prg.html
* website/samples/testhtml.prg.html
* website/third-party.html
* lowercased (or deleted) references to
source filenames.
- INSTALL
+ README
* config/global.mk
* config/postinst.hb
* contrib/hbmysql/readme.txt
* doc/gmake.txt
* NEWS
* package/mpkg_win.nsi
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
* package/winuni/RELNOTES
* tests/hbdoctst.prg
* website/menu/harbour-menu.js
* website/news.html
* doc/howtorep.txt
* 'INSTALL' doc renamed to 'README'.
A little disruption, but hopefully it will be
more intuitive place to look for. The doc by
now contains lots more than installation procedures.
This "new" name is also recognized and displayed
by several source management web UIs automatically.
; To mailing list admins: Please update the
links in the web group headers. Thank you!
* ChangeLog
* another note missed, this time from 2012-11-13 19:00 UTC+0100
(FI_SETOUTPUTMESSAGE() gained MT support.)
* config/postinst.hb
* utils/hbmk2/hbmk2.prg
* use HB_DEFAULT() instead of 'IF ! HB_IS*()'
* contrib/hbgd/gdchart.prg
+ use HB_DEFAULT() instead of __DEFAULTNIL() after
verifying that in no case they are expecting multiple
types.
* contrib/hbodbc/hbodbc.hbp
* contrib/hbodbc/odbc.c
* contrib/hbodbc/todbc.prg
* contrib/hbodbc/tests/odbccall.prg
* contrib/hbodbc/tests/odbcdemo.prg
* contrib/hbodbc/tests/testodbc.prg
+ implemented typed pointers. Automatic memory
management is not enabled yet, as it suffers
from the same problem in its current form as
f.e. HBQT. I hope someone can solve this,
maybe it could be a good and simple example
for how to solve such problems in general.
Memory management code is guarded with
_HBODBC_AUTO_MM_
both on .prg and .c level. Also in test code.
% cleanups to TODBC() class to not use a temp
variable to pass object vars by reference
* other minor .prg level cleanups
* src/rtl/hbdef.c
! fixed HB_DEFAULT() to use high-level Harbour types
for type comparison, so f.e. memo and string types
are considered the same, just like float, integer, long
subtypes of numerics. Many thanks to
Francesco (Saverio Giudice) for the report.
* contrib/hbfimage/fi_wrp.c
* contrib/hbfimage/tests/fitest.prg
! FI_SETOUTPUTMESSAGE(): fixed/implemented error callback.
In previous version it was not working. Now the function
accepts both function pointer and codeblock.
* adapted/fixed error callback setting in test
+ added test for error callback
* contrib/xhb/hbcompat.ch
* formatting
- contrib/hbfimage/fi_winfu.c
* contrib/hbfimage/fi_wrp.c
* contrib/hbfimage/hbfimage.hbp
* contrib/hbfimage/tests/fitest.prg
* merged and cleaned Windows specific functions
with main wrapper source
+ implemented GC collected pointers for FIBITMAP
+ implemented typed pointers for FIMULTIBITMAP
* FI_UNLOAD() is now a dummy and deprecated with HB_LEGACY_LEVEL4
! FI_UNLOCKPAGE() fixed: it was checking for wrong parameter type
+ enabled few tests after adapting them to API changes
* FI_GETBACKGROUNDCOLOR() changed to work like the wrapped function;
it will now return color in 2nd parameter, if passed by ref.
The color is a 4 byte string in the format RGBA. It was a
raw pointer before. It's now in sync with FI_SETBACKGROUNDCOLOR().
INCOMPATIBLE.
* FI_SETBACKGROUNDCOLOR() fixed to check for color parameter
length to avoid GPFs.
* minor code rearrangements
% deleted no longer necessary FI_UNLOAD() calls from test code
; please test/review
* contrib/hbgd/gdwrp.c
* renamed variables, formatting
* tests/rto_get.prg
* tests/rto_tb.prg
* utils/hbtest/hbtest.prg
* utils/hbtest/rt_date.prg
* utils/hbtest/rt_hvm.prg
* utils/hbtest/rt_hvma.prg
* utils/hbtest/rt_math.prg
* utils/hbtest/rt_misc.prg
* utils/hbtest/rt_str.prg
* utils/hbtest/rt_trans.prg
* formatting
* contrib/hbwin/win_reg.prg
! fixed WIN_REGGET() for WIN_REG_DWORD_BIG_ENDIAN and
WIN_REG_QWORD* values in unicode mode.
% minor optimization WIN_REG_QWORD part of above
* contrib/hbgd/gdbar.prg
* contrib/hbgd/gdbarcod.prg
! '2005-2005' in copyright header
* extras/gtwvw/gtwvw.hbp
+ reenabled warnings
* extras/gtwvw/hbgtwvw.h
* added hbwinuni.h
* extras/gtwvw/gtwvwd.c
* extras/gtwvw/wvwdraw.c
* extras/gtwvw/wvwfuncs.c
* uncrustified (multiple run seems to make additional changes,
just like sometimes in hbformat)
* contrib/hbgd/gdbar.prg
* contrib/hbgd/gdbarcod.prg
* contrib/hbgd/hbgd.hbx
* contrib/hbgd/tests/barms.prg
* contrib/hbgd/tests/bartest.prg
* Renamed classes that have confusing and misleading
names out of the gd namespace: (f.e. TBarCode class
was in gdbar.prg, and TCode in gdbarcod.prg)
These were very buggy until recently, so I doubt
anybody uses them, anyways it's an INCOMPATIBLE
change:
class TBarCode -> GDBar
class TCode -> GDBarCode
* contrib/hbgd/gdwrp.c
* cleaned conversion between Harbour logical to/from int flags
* deleted repetitive comments
! fixed to check for proper GC collected pointer type, not
just any pointer. This may avoid some GPFs and memory
corruption and report them as RTE
! GDIMAGESTRINGFTEX() to allow float numbers for ptsize parameter
! GDIMAGEFILLEDPOLYGON(), GDIMAGEOPENPOLYGON(), GDIMAGEPOLYGON()
fixed to not leave uninitialized trash in point coordinates
if wrongly formed parameters is passed
! GDIMAGEFILLEDPOLYGON(): fixed buffer overrun if number of
points exceeded 50
; further 700 LOC and 12KB source size reduction
* ChangeLog
* added LOC reduction to prev (-2800 lines)
* contrib/hbfimage/fi_winfu.c
* missed to include it in one of the recent entries:
FI_LOADFROMMEM() has been renamed to FI_LOADFROMMEMORY()
to be in sync with original FreeImage function name.
Update your apps accordingly. INCOMPATIBLE.
* contrib/hbfimage/tests/fitest.prg
! synced with above lib change
* contrib/hbfimage/fi_winfu.c
* contrib/hbfimage/fi_wrp.c
* contrib/hbgd/gdwrp.c
* contrib/hbgd/gd.prg
* deleted excessive {} and () operators
* eliminated split lines where only one char was present in a line
% replaced RTE generator calls to more compact ones
% dropped pcount() checks where HB_IS*() checks were
present anyway
* merged separate var declarations and initializations in
wrapper code
% eliminated local variables where it didn't make code
less obvious
% adujsted a few var scopes
* deleted repetitive comments
% protected hb_parcx() calls changed to hb_parc()
! GDIMAGESTRING(), GDIMAGESTRINGUP(), GDIMAGECHAR(), GDIMAGECHARUP()
fixed for 1 character long strings. Code tried to retrieve a character
by using hb_parni() which (purposefully) isn't supported in Harbour.
The current effect is the same, with negligibly performance
loss for one long strings.
% GDIMAGECHAR(), GDIMAGECHARUP() now use C level forwarder.
% using hb_parnintdef()
! fixed typo in RTE message
% using hb_default() in gd.prg
% number of LOC, source size (-24KB) and generated binary
code greatly reduced by the above.
* src/rtl/tclass.prg
* src/rtl/tobject.prg
* commented code changed to #if 0 blocks
! some commented code fixed
* some obsolete comments deleted
* utils/hbmk2/hbmk2.prg
+ added following options to .hbc files:
keywords=
licenses=
repository=
all only informational, they do nothing ATM.
* harbour/include/hbexpra.c
* indenting
* harbour/package/harbour.spec
! fixed ssl library detection
* harbour/contrib/hbnetio/netiosrv.c
! fixed parameters numbers in NETIO_COMPRESS()
* harbour/config/linux/libs.mk
* harbour/config/bin.mk
! use pthread in linked library list if shared linking is enabled
! do not strip system libraries in shared mode - some systems
(i.e. RH7.3) needs pthread to be given at link time to create
correct MT programs and now harbour shared library is only in MT.
- contrib/hbct/ctextern.ch
- contrib/hbgd/gdextern.ch
- contrib/hbxpp/hbxppext.ch
- contrib/rddads/adsextrn.ch
- contrib/xhb/xhbextrn.ch
% deleted compatibility extern puller headers.
To pull externs more efficiently from any contribs, use
this line in your source:
'REQUEST __HBEXTERN__<LIBNAME>_'
INCOMPATIBLE.
* contrib/gtwvg/hbgtwvg.ch
* contrib/gtwvg/wvgparts.ch
* contrib/gtwvg/wvtwin.ch
* contrib/hbblat/blatwrp.c
* contrib/hbblat/hbblat.ch
* contrib/hbgd/gd.ch
* contrib/hbmlzo/hbmlzo.ch
* contrib/hbodbc/sql.ch
* contrib/hbtpathy/telepath.ch
* contrib/hbwin/hbsim.ch
* contrib/hbwin/hbwin.ch
* extras/rddado/adordd.ch
* cleanups (removal of () around negative numerics in
macros for .ch files not used from C and some alignment,
comment cleanup)
- contrib/hbdroid
+ extras/hbdroid
+ extras/hbdroid/hbdroid.hbx
* extras/hbdroid/hbdroid.hbc
* moved hbdroid to 'extras'
+ added .hbx file
* adapted build files to 'extras' environment.
; Now can be built as dynamic lib
* contrib/hbdroid/hbdroid.hbp
* minor cleanup
* contrib/rddbm/rddbm.hbp
! missed to add .hbx as source
* contrib/rddsql/tests/arrayrdd.prg
+ fixed to work when run as script.
(Could not achieve the same with SDD tests.)
* utils/hbmk2/hbmk2.prg
+ added very experimental support for using macros
in source filenames. The search for options and
special extensions will be done before macro
expansion, ie. if it doesn't match any options or
special extensions, it will be considered a
source a file and then expanded. Useful f.e. for
'${hb_name}.hbx', but plain '${ENVVAR}' will also
be considered a source filename. Can be abused, too,
but not recommended.
* contrib/rddbm/rddbm.hbp
* extras/gtwvw/gtwvw.hbp
* extras/hbvpdf/hbvpdf.hbp
* extras/hbxlsxml/hbxlsxml.hbp
* extras/ps32/ps32.hbp
* extras/rddado/rddado.hbp
* extras/superlib/superlib.hbp
+ unified the common build parameters, so
now all supports dynamic libs, installation
and .hbx files
+ contrib/rddbm/rddbm.hbx
+ extras/rddado/rddado.hbx
+ added two new .hbx files
* utils/hbmk2/hbmk2.prg
! fixed to automatically create target directory
for import library, if any.
* extras/hbusb/hbusb.hbp
* making options more uniform
; TODO: apply these to other 'extras' libs
* extras/gfspell/spellc.c
! fixed compilation errors in spellc.c.
! fixed non-ANSI C comments.
! fixed warnings.
* removed excessive parenthesis
+ extras/gfspell/gfspell.hbx
* extras/gfspell/gfspell.hbp
+ added .hbx file
+ added option to build dynamic lib
* extras/gfspell/spell.ch
* extras/gfspell/spell.prg
! fixed to use lower-case filenames
! fixed '=' operators
! fixed BIT() calls to have the 1st param passed by ref
! fixed some formatting errors left by hbformat (notably: "{|xx|")
! disabled permanently enabled debug screen messages
! fixed to not leave temporary index on disk
+ some changes to make code more unicode compatible (incomplete)
* Use F_ERROR
* hbformatted using new .hbx
% use hb_FileExists()
; NOTE: Strangely all this is not enough to make this
work, because crucial files are missing from this packages,
f.e. dict.dic and thes.dic. Anybody has these?
* extras/gfspell/words.dbf
! fixed field name to be WORD (not W_ORD). I'm not even
sure how this can go wrong, byt anyways.
* contrib/hbnf/menuto.prg
* minor
* contrib/hbgs/core.c
* contrib/hbwin/wapi_wingdi.c
* contrib/hbwin/win_com.c
* minor uncrustify fixes
* extras/gtwvw/gtwvw.hbx
* cased all function names
* extras/gtwvw/wvwdraw.c
* extras/gtwvw/wvwedit.c
* extras/gtwvw/wvwfuncs.c
* cleanups
* extras/gtwvw/wvwfuncs.c
! fixed a few GPFs. There are so plenty of
them and other sloppy code that it's
an impossible task.
* extras/gtwvw/tests/hbmk.hbm
* set warning level to -w3
* extras/gtwvw/tests/_wvwmous.prg
* extras/gtwvw/tests/cbtest1.prg
* extras/gtwvw/tests/cbtest6.prg
* extras/gtwvw/tests/drawimg.prg
* extras/gtwvw/tests/ebtest7.prg
* extras/gtwvw/tests/inpfocus.prg
* extras/gtwvw/tests/maincoor.prg
* extras/gtwvw/tests/maximize.prg
* extras/gtwvw/tests/prog0.prg
* extras/gtwvw/tests/prog1.prg
* extras/gtwvw/tests/prog2.prg
* extras/gtwvw/tests/wvwtest9.prg
! fixed one doubly defined function after
recent change
! fixed all -w3 warnings
! enabled GTWVW specific code where it
was conditionally enabled.
! hbformat formattings and related fixes
; Strangely all samples work relatively
okay in script mode, but when built as
exe they all crash badly.