* harbour/config/beos/gcc.mk
* harbour/config/qnx/gcc.mk
* harbour/config/bsd/gcc.mk
* harbour/config/wce/mingwarm.mk
* harbour/config/vxworks/gcc.mk
* harbour/config/hpux/gcc.mk
* harbour/config/darwin/gcc.mk
* harbour/config/dos/djgpp.mk
* harbour/config/win/mingw.mk
* harbour/config/linux/gcc.mk
* harbour/config/cygwin/gcc.mk
* harbour/config/symbian/gcc.mk
* harbour/config/os2/gcc.mk
* harbour/config/sunos/gcc.mk
* use -Wall -Wno-unused -Wno-pointer-sign -Wno-uninitialized
-Wno-switch -Wno-strict-overflow -Wno-main
instead of -W when warnings are not enabled with GCC based compilers.
Using only -W only is rather useless because this switch enables
warnings which can be usually ignored in 3-rd party code.
This modification should help in locating bugs introduced by us
to 3-rd party code, i.e. due to wrong header files used on some
platforms (we do not use autoconf assuming some default settings
what can be wrong in some cases). It should also not hide some
important/critical bugs in 3-rd party code.
This modification pacifies some common warnings which can be
ignored usually but it also enables some more important ones.
If it's necessary then we can tune it a little bit more and disable
some other warnings too.
It's possible that on some platforms using very old GCC versions
some of -W* switches are not supported - please make tests and
inform us about problems.
* harbour/utils/hbmk2/hbmk2.prg
* use -Wall -Wno-unused -Wno-pointer-sign -Wno-uninitialized
-Wno-switch -Wno-strict-overflow -Wno-main
instead of -W when warning level is set to low with GCC based
compilers
* contrib/hbexpat/tests/test.prg
* contrib/hbexpat/tests/tohash.prg
* Tweaked to find example xml file out of the box.
* contrib/hbexpat/hbexpat.c
* contrib/hbcurl/hbcurl.c
* contrib/hbssl/ssl.c
* contrib/hbssl/pem.c
% Using hb_vmPush*() functions instead of less efficient
hb_evalBlock*().
Calls requiring UTF8 conversion were not optimized.
* contrib/hbzebra/coredraw.c
! Fixed to use HB_DEFAULT_DECIMALS instead of hard coded 2.
* contrib/hbmxml/hbmxml.c
! Fixed to use hb_itemPutC() instead of hb_itemPutCConst().
(use the latter for 'static const' strings only)
* harbour/src/rtl/stuff.c
* minor modification which should pacify warnings in some compilers
* harbour/src/rtl/gtgui/gtgui.c
* removed unnecessary assignment to pacify BCC warning
* harbour/contrib/hbxdiff/hbxdiff.c
! fixed file handle to pointer casting - on some platforms/C compilers
old code could cause compile time warnings or even errors
* contrib/hbmxml/hbmxml.c
+ Enabled function pointer support with new PHB_ITEM based
callback system.
! MXMLSETERRORCALLBACK() fixed to reset error handler to NULL
if wrong (or no) parameter is passed.
! Replaced hb_vmProc() with hb_vmSend().
! Fixed some missed locations still using dynsyms directly.
* contrib/hbmxml/tests/custom.prg
* contrib/hbmxml/tests/testmxml.prg
* contrib/hbmxml/tests/reminder.prg
* Switched back to use function pointers.
* contrib/hbsqlit3/hbsqlit3.c
* contrib/hbxdiff/hbxdiff.c
* Renamed variables to reflect recent changes.
* contrib/hbsqlit3/hbsqlit3.c
+ Enabled function pointers. It's even easier I thought since
the block calling method also supports function pointers
automatically.
* contrib/hbxdiff/hbxdiff.c
% Deleted separate (original) function symbol support, and
enabled it on the codeblock branch. Now it supports both
without redundant code.
* contrib/hbxdiff/tests/test3.prg
+ Added back function pointer example.
* contrib/hbmxml/hbmxml.c
+ First round to switch to supporting codeblocks and storing
callback information in PHB_ITEM instead of PHB_DYNS. For some
reason I couldn't figure, reminder.prg fails after this modification.
Please verify.
+ Added TOFIX to severe buffer handling problem in all MXMLSAVE*()
functions. Buffer is returned from save_cb() callback after
it's freed.
* contrib/hbmxml/tests/custom.prg
* contrib/hbmxml/tests/testmxml.prg
* contrib/hbmxml/tests/reminder.prg
* Changed to use codeblock callbacks.
(later some examples might be readded for function pointers,
it's simple s&r)
* Some formatting. Deleted line spaces @ EOL.
; NOTE: f.e. testmxml.prg fails instantly. It failed the same
way before this commit.
* contrib/hbmxml/tests/reminder.prg
* contrib/hbmxml/tests/test.prg
! Fixed warnings and errors preventing these
tests from building.
* contrib/hbexpat/hbexpat.c
* contrib/hbcurl/hbcurl.c
* contrib/hbssl/ssl.c
* contrib/hbssl/pem.c
+ Added support also for function pointers where codeblocks
were accepted. Please test it.
NOTE: It was easy change because PHB_ITEM was already
used to store the callback value and official Eval API
was used to call the callbacks.
* contrib/hbssl/tests/pem.prg
+ Added example for function pointer callback.
* contrib/hbssl/pem.c
% Minor optimization.
* contrib/hbsqlit3/hbsqlit3.c
+ Switched to use codeblocks for callbacks (instead of function
pointers).
; I'd like to kindly ask those who understand the topic to review
GC unlock/mark mechanism. I also didn't make any tests, because
they are missing from tests dir.
* contrib/hbxdiff/hbxdiff.c
! Another typo in prev.
* contrib/hbxdiff/hbxdiff.c
+ Added support for codeblocks as callbacks.
; I'm not sure if we should keep symbol callbacks, looks
like inferior alternative and codeblocks are the preferred
choice in 98% (well all except this, and recently added
hbsqlit3 extension and hbmxml) of Harbour wrappers addons.
* contrib/hbxdiff/tests/test.prg
* contrib/hbxdiff/tests/test2.prg
* contrib/hbxdiff/tests/test3.prg
* Changed to use codeblock in callback example.
* Formatting.
* contrib/hbformat/hbformat.prg
! Fixed to recognize ENDSWITCH.
+ Added vague TOFIX section. F.e. OTHERWISE is also not recognized,
and increment/decrement statements have space separator added
between variable name and operator (i ++), same is true for negative
literals (- 1).
* Formatting.
* tests/gfx.prg
! Typo in prev modification.
* harbour/src/rtl/gtgui/gtgui.c
* use MB_ABORTRETRYIGNORE instead of MB_RETRYCANCEL only when defined
by default and program is executed in W2K or newer Windows version
* harbour/src/rtl/gtgui/gtgui.c
+ added basic support for redirecting ALERT() to MessageBox() in
MS-Windows GTGUI builds. Please remember that MessageBox() supports
only few predefined buttons so it's not possible to show all user
options. Anyhow it should be enough to present error messages
generated by default error handler.
* contrib/hbformat/hbformat.prg
* Formatting.
! Fixed camelcasing of some function names in formatting code.
% Optimized when forming long string constants.
* tests/gfx.prg
! Fixed -w3 warning.
* Formatted.
* contrib/hbhpdf/3rd/libhpdf/hpdfimap.c
* contrib/hbhpdf/3rd/libhpdf/libhpdf.dif
! Updated libharu code to work with libpng 1.5
Thanks to Tamas for the patch and Anthony Dovgal
for the quick update on libharu code.
* contrib/hbhpdf/3rd/libhpdf/libhpdf.hbp
* Not needed anymore to suppress pedandic png warnings.
* harbour/src/rtl/filesys.c
! fixed function name in HB_TRACE() message
* harbour/src/rdd/sdf1.c
* harbour/src/rdd/delim1.c
* add CHR(26) at the end of COMMA and SDF files only when _SET_EOF is .T.
+ src/3rd/png/png.dif
* src/3rd/png/Makefile
+ Added new .dif for png to cover recent local changes.
* src/3rd/jpeg/jpeg.dif
* src/3rd/jpeg/README
! Minor fix to .dif.
; Both patches sent by Tamas.
* src/3rd/png/pnglconf.h
! Fix for watcom compilers. Patch by Tamas.
* contrib/hbmxml/hbmxmlp.prg
% Optimized out local variables.
* ChangeLog
! Fixed missing credit for Tamas in 2011-01-07 18:30 UTC+0200 Petr Chornyj
* contrib/hbformat/hbformat.prg
! Fixed to not use PRIVATE variable to communicate between
methods. The solution is trivial, so trivial that I couldn't
decipher why PRIVATE was used in the first place, which
means there is a chance I broke something. Please review it.
; TOFIX: hbformat doesn't understand 'SWITCH' statement, which
means it break with many valid source files with an
error.
* package/harbour.spec
- Deleted hbformat. It now resides in contrib.
* doc/dirstruc.txt
* Moved hbformat.
* contrib/hbformat/utils/hbformat.hbp
* Reimplemented tweak to build hbformat in shared mode for
win/wce/os2 systems. (to minimize distro size)
- contrib/hbformat/utils/hbformac.c
+ contrib/hbformat/hbformac.c
* contrib/hbformat/utils/hbformat.hbp
* contrib/hbformat/hbformat.hbp
! Moved back this C level helper function to lib.
* Renamed RF_FILEREAD() to __HBFORMAT_FILEREAD()
* contrib/hbformat/utils/hbformat.prg
* contrib/hbformat/hbformat.prg
* hbformat.ini reference moved to cmdline wrapper level.
* Formatting.
* contrib/hbide/ideformat.prg
* Changed to use hbformat lib class, instead of local copy
paste copy.
- contrib/hbide/thbformt.prg
* contrib/hbide/hbide.hbp
- Deleted local copy paste (+ mods) copy of hbformat class code.
; TODO: Pritpal, please reapply your changes (except formatting)
to hbformat lib code.
* contrib/hbplist
- contrib/hbformat/hbformat.ini
+ contrib/hbformat/utils/hbformat.ini
+ contrib/hbformat/utils/hbformac.c
+ contrib/hbformat/utils/hbformat.prg
+ contrib/hbformat/utils/hbformat.hbp
- contrib/hbformat/hbformac.c
* contrib/hbformat/hbformat.prg
* contrib/hbformat/hbformat.hbp
+ contrib/hbformat/hbformat.hbc
* Separated cmdline wrapper from class.
; TOFIX: Class uses a MEMVAR!
; TOFIX: Class uses hbformat.ini, this is wrong as the notion
of .ini config should be part of the cmdline wrapper.