* src/rtl/hbdef.c
! HB_DEFAULT(): consider date and timestamp types
interchangable.
% HB_DEFAULT(): applied optimization from Przemek,
so now a hb_pcount() call is saved.
* 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.
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/hbmk2.es_PE.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.pt_BR.po
% "-*flag=" options' help text change to include the word
'single' for 'flag'
(though 'flag' is not and never was in plural)
% moved -prgflag= option downwards in the list to
discourage using it by being less visible. In general,
nobody needs this flag as all non-hbmk2 flags are
automatically passed to Harbour compiler.
- 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)
* extras/rddado/rddado.hbp
* extras/rddado/tests/access1.prg
* extras/rddado/tests/access2.prg
* extras/rddado/tests/mysql1.prg
* extras/rddado/tests/mysql3.prg
! added missing link against hbwin lib when building as
dynamic lib.
It needs the method described in 2010-07-31 01:59 UTC+0200
+ added #require to tests so now they can be run as hbrun scripts
+ added CLS to automatically switch to interactive GT with hbrun
* extras/gfspell/spell.prg
* extras/gfspell/spellc.c
* extras/gtwvw/tests/ebtest7.prg
* minor
* extras/hbdroid/msginfo.c
! fixed to pass strings to Java in UTF-8
! additional NULL checks to avoid GPFs
; Anybody remembers how to run/try this thing?
* extras/gfspell/spell.prg
* extras/gfspell/spellc.c
* unicode, 64-bit and various other minor cleanups,
though this thing just doesn't work at all.
XUNFORM() seems to be buggy, maybe it pulls the
whole thing down. I'm giving up. I will delete this
library if it stays unusable.
* extras/gfspell/spell.prg
% deleted commented full screen debug trace lines
% deleted not operational REDUCE_MEMORY_NEEDS built-time
option. It was dead code that didn't even compile and
caused RTE when fixed
* other formatting
* extras/gfspell/spellc.c
! fixed memory corruption in SP_RATE()
* extras/gfspell/words.dbf
! deleted two wrong records that cause DBF2DIC() to
not work.
* extras/gfspell/spell.prg
* minor
* extras/gfspell/spellc.c
+ legacy Clipper API constructs upgraded to Harbour ones
+ upgraded to use Harbour string sizes
+ other minor code cleanups
% public vars converted to static and const
* extras/gfspell/spell.prg
* renamed STATIC vars
! fixed some STATIC vars for MT mode
! few more unicode fixes
* code cleanups
* extras/gfspell/spellc.c
+ legacy Clipper API constructs upgraded to Harbour ones
+ upgraded to use Harbour string sizes
+ other minor code cleanups
% public vars converted to static and const
* extras/gfspell/spell.prg
* minor
- 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
+ extras/gtwvw/wvt2wvw.ch
- extras/gtwvw/tests/wvt2wvw.ch
* extras/gtwvw/tests/readme.txt
* cased function names, misc cleanups, moved
to main project dir
* 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.
* extras/hbdoc/hbdoc.hbp
+ use $hb_pkg_install.hbm
* utils/hbmk2/pkg_inst.hbm
+ install executables into Harbour bin dir, but
commented with NOTE because hbdoc works only when
put in its current directory location.