* contrib/hbmxml/3rd/minixml/mxml.hbp
* contrib/3rd/sqlite3/sqlite3.hbp
* contrib/hbmzip/3rd/minizip/minizip.hbp
* contrib/hblzf/3rd/liblzf/lzf.hbp
* contrib/hbxdiff/3rd/libxdiff/xdiff.hbp
* contrib/hbexpat/3rd/expat/expat.hbp
* contrib/hbbz2/3rd/bz2/bz2.hbp
* contrib/hbhpdf/3rd/libhpdf/libhpdf.hbp
! Do not create dynamic version of 3rd party dependencies hosted
locally. It should fix some problems on *nix builds with
HB_BUILD_CONTRIB_DYN=yes.
* contrib/hbrun/hbrun.hbp
+ -o option.
* utils/hbmk2/hbmk2.prg
+ Added dynlib dir + prefix to --hbinfo output.
* examples/gtwvw/wvwfuncs.c
* Renamed WIN_RECTANGLE() to WVW_RECTANGLE()
* Renamed WIN_SETBKMODE() to WVW_SETBKMODE()
- Deleted WIN_LOWORD()
- Deleted WIN_HIWORD()
; INCOMPATIBILITY: If you used WIN_RECTANGLE() or WIN_SETBKMODE()
specifically from GTWVW, change these calls to
the neww WVW_*() versions.
If you used WIN_LOWORD() or WIN_HIWORD(),
link hbwin lib (hbwin.hbc) to your app.
* contrib/*/*.hbx
* Regenerated.
- contrib/hbct/ctextern.prg
* contrib/hbct/hbct.hbp
- contrib/hbxbp/hbxbpext.prg
* contrib/hbxbp/hbxbp.hbp
- contrib/hbwin/hbwinext.prg
* contrib/hbwin/hbwin.hbp
* contrib/hbqt/qtgui/hbqtgui.hbm
- contrib/hbqt/qtgui/hbqt_extern.prg
* contrib/hbqt/qtwebkit/hbqtwebkit.hbm
- contrib/hbqt/qtwebkit/hbqt_extern.prg
- contrib/hbqt/qtcore/hbqt_extern.prg
* contrib/hbqt/qtcore/hbqtcore.hbm
- contrib/hbqt/qtnetwork/hbqt_extern.prg
* contrib/hbqt/qtnetwork/hbqtnetwork.hbm
- contrib/hbqt/qtuitools/hbqt_extern.prg
* contrib/hbqt/qtuitools/hbqtuitools.hbm
- contrib/hbqt/qscintilla/hbqt_extern.prg
* contrib/hbqt/qscintilla/hbqscintilla.hbm
- contrib/hbqt/qtdesigner/hbqt_extern.prg
* contrib/hbqt/qtdesigner/hbqtdesigner.hbm
- contrib/rddads/adsextrn.prg
* contrib/rddads/rddads.hbp
- contrib/hbgd/gdextern.prg
* contrib/hbgd/hbgd.hbp
% Deleted separate puller modules and added .hbx to the project directly.
; TODO: Some wrapper projects have the name already used for .c files,
so .hbx cannot be directly included ATM.
; TODO: Move -D__HBEXTREQ__ to local .hbp files so they kick in in stdalone mode too.
Or maybe hbmk2 should always define it, if there is an .hbx file included
in a project, after all it can generate these .hbx files, too.
* contrib/hbmxml/hbmxmlx.prg
* contrib/hblzf/hblzfx.prg
* contrib/hbxdiff/hbxdiffx.prg
* contrib/hbexpat/hbexpatx.prg
% Deleted some lines no more necessary.
* contrib/xhb/xhb.hbp
* contrib/hbxpp/hbxpp.hbp
+ Added .hbx puller to projects.
* utils/hbmk2/hbmk2.prg
! Minor typo in help text.
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.es_PE.po
+ Updated from source.
* contrib/hbmxml/tests/rem.xml
* contrib/hbmxml/tests/rem_err.xml
! Added missing EOL @ EOF.
* contrib/hbunix/hbposix.h
+ Added generic macro to accept both logical and numeric type for
boolean-like input parameters.
* contrib/hbunix/tests/testdmn.prg
* contrib/hbunix/daemon.c
+ UNIX_DAEMON(): Changed to accept numeric value for logical parameters.
+ UNIX_DAEMON(): Changed to return numeric value.
; Patch by Tamas.
+ contrib/hbposix/tests/testdmn.prg
* contrib/hbposix/hbposix.hbp
+ contrib/hbposix/daemon.c
+ Added HB_POSIX_DAEMON( lNoChdir, lNoClose ) --> lResult
* contrib/hbmxml/hbmxmlp.prg
* contrib/hbmagic/hbmagis.prg
* contrib/hbmagic/tests/hbmagit.prg
* contrib/hbmagic/hbmagic.c
! Minor fix to copyright line.
; Patch from Tamas. Thank you!
* contrib/hbposix/tests/testdmn.prg
* contrib/hbposix/daemon.c
* Renamed POSIX_DAEMON() to HB_POSIX_DAEMON() to reflect
fact that it implement higher level posix functionality
(as opposed to being a direct wrapper to posix function
names 'deamon()')
* harbour/contrib/hbmxml/hbmxml.c
! redesigned to use mxml_node reference counters - it should fix
all problems with memory leak and accessing freed memory which
where in our wrapper.
! fixed few typos and possible GPF I've found
! modified mxmlDelete() wrapper to respect reference counter
It means that it cannot call mxmlDelete() MXML function directly.
- removed mxmlRelease() and mxmlRetain() PRG wrappers
* harbour/contrib/hbmxml/3rd/minixml/mxml_fil.c
! fixed double mxml_node releasing
* harbour/contrib/hbmxml/3rd/minixml/mxml_nod.c
! fixed mxmlDelete() to respect reference counters
; TODO: There are still two problems but inside MXML library.
1. memory leak in testmxml rem_err.xml
The leak is inside MXML function and have to be fixed by author
(I do not want to change this code too deeply). Here is valgrind
report:
(88 direct, 1 indirect) bytes in 1 blocks are definitely lost
at 0x4C234E7: calloc ()
by 0x40ABF9: mxml_new (mxml_nod.c:758)
by 0x40AE39: mxmlNewText (mxml_nod.c:547)
by 0x407421: mxml_load_data (mxml_fil.c:1585)
by 0x404E50: HB_FUN_MXMLLOADFILE (hbmxml.c:794)
by 0x50A9FF6: hb_vmProc (hvm.c:5795)
by 0x5086104: hb_vmExecute (hvm.c:1655)
by 0x50A9FF6: hb_vmProc (hvm.c:5795)
by 0x50ADC12: main (mainstd.c:96)
2. Index functions in MXML library does not update reference counters.
It means that it's possible to create index then remove nodes and
access such nodes extracting their addresses from the index.
It's the only one place I know when user can make sth wrong with
memory using just modified HBMXML wrapper and it cannot be fixed
without modifications in MXML library.
Please test it.
* harbour/contrib/hbmxml/hbmxml.c
! fixed hb_strdup() wrongly used instead of strdup()
Thanks to Petr for the information.
* modified MXMLSAVESTRING() to follow recent Viktor modifications in
MXMLSAVEALLOCSTRING() and not strip trailing EOL
* contrib/hbmxml/hbmxml.c
% In MXMLSAVEALLOCSTRING() strdup()-ed buffer passed directly
to hb_retclen_buffer() replaced with plain hb_retclen() call.
hb_retclen_buffer() is to be used only if there is already
an allocated buffer to pass as is.
! MXMLSAVEALLOCSTRING() modified to not remove EOLs from
buffers received from minixml lib. Reason two-fold: 1. hbmxml
libs job is to be as transparent as possible, so it should not
tamper with the contents 2. Do not make any assumptions about
the size of EOL, which was 1, but now it can be 2 on certain
platforms.
; Please review and test. There is no test code for this
call, so I only did build tests.
* contrib/hbfoxpro/hbfoxpro.hbp
+ contrib/hbfoxpro/misc.prg
+ Added very humble attempt to emulate SYS(). I'm no FoxPro user
and don't have any facility to make tests against real FoxPro.
Please fix and extend as you deem necessary.
* bin/hb3rdpat.hbs
+ Changed tool detection to only require what's really to be
used in a certain session.
+ Added detection to more tools.
; Thanks Tamas for the patch session.
* contrib/hbmxml/tests/testmxml.prg
! Reverted 2011-01-17 00:05 UTC+0200 Petr Chornyj.
It's wrong solution, it makes the output non-portable.
; TOFIX: Change LF to CRLF in libmxml for a proper fix.
* contrib/hbmxml/hbmxml.c
! Fixed warning reported by bcc55 in mxmlNewCustom()
* contrib/hbmxml/tests/testmxml.prg
* Changed whitespace_cb() to respect official mxml test result
f.e. hb_eol() -> e"\n"
* harbour/contrib/hbmxml/hbmxml.c
% optimized user callback calls
* declare all helper functions as static - all public functions
except HB_FUNC() ones should be declared in .h files
If it's not necessary the please do not declare functions as public.
It's much easier to update the code when developers know that it's
use only locally and not accessed from some other or user code.
* contrib/hbmxml/hbmxml.c
+ Added experimental hb_mxmlGetAttrsCount(), hb_mxmlGetAttrs(),
hb_mxmlGetAttrsArray()
; WARNING: can be changed or even removed after final 2.7 miniXML release
* harbour/contrib/hbmxml/hbmxml.c
! fixed using released strings
! added missing callback item clearing
! release previous callback items in MXMLSETERRORCALLBACK() and
MXMLSETCUSTOMHANDLERS() - it fixes memory leak in repeated calls
and allows to free all items used by codeblock callbacks before
application/thread exit.
; small note about TSD functions:
hb_stackGetTSD() always returns non NULL pointer, on first call
it allocates and initialize new structure. It's not necessary to
check if return value is not NULL.
hb_stackTestTSD() return NULL if TSD structure is not allocated
yet by current thread, otherwise it returns this structure.
Newly allocated TSD structures are cleared so it's not necessary
to clear their members inside init functions. In such case init
functions can be ignored (set to NULL in HB_TSD_NEW().
I know that on some platforms NULL can be represented as non
0 value anyhow current Harbour code is not ready to work with
such platforms and needs a lot of modifications to adopt it
to such condition. I do not expect that anyone will try to
make such port in the future.
; QUESTION: why custom_save_cb() uses hb_parc() instead of
hb_parstr_utf8()?
; QUESTION2: what TODO in MXMLDELETE() means?
* harbour/include/hbapi.h
* harbour/include/hbwmain.c
* harbour/src/vm/cmdarg.c
* moved declaration of hb_winmainArgInit() to header file
* harbour/contrib/hbmxml/3rd/minixml/mxml_fil.c
* harbour/contrib/hbmxml/3rd/minixml/mxml.h
! fixed to compile with WinCE builds
; I cannot regenerate .diff file because
../../../../bin/hb3rdpat.hbs -rediff
generates RT error:
Error BASE/1123 Argument error: HB_ATOKENS
Called from HB_ATOKENS(0)
Called from URL_GETFILENAME(810)
Called from FETCHANDEXTRACT(673)
Called from MAIN(412)
Sorry, probably I'm missing sth what was already discussed
but I was not able to follow all post on the list in last
weeks so I would like to ask Viktor or Tamas for the help.
* 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)
* 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/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.
* 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
* src/vm/cmdarg.c
* Formatting.
* package/winuni/mpkg_win_uni.nsi
+ Added TOFIX to recent HBIDE shortcut addition.
It should only be there if HBIDE component was selected.
- Disabled HBIDE icon until a proper solution is found.
* contrib/hbct/ctnet.c
! NETRMTNAME(): Fixed along the patch sent by vbdasc.
Please test it.
* contrib/hbmxml/3rd/minixml/config.h
! Space at EOL.
* ChangeLog
! Fixed Date in my entry
+ contrib/hblzf/3rd/liblzf/liblzf.dif
* contrib/hblzf/3rd/liblzf/lzf.hbp
+ Added liblzf.dif
* contrib/hbmxml/3rd/minixml/minixml.dif
+ Fixed not use absolute file path in minixml.dif
! contrib/hbmxml/hbmxml.c
! Many fixes and changes
* contrib/hbmisc/nconvert.prg
+ Added DecToRoman() function
* contrib/hbmxml/hbmxml.c
* Changed to use STR API for UTF8 conversions
; QUESTION: for mxmlNewCDATA, mxmlSetCDATA, mxmlGetCDATA
it's acceptable?
* contrib/hbplist
+ Added new libs.
* contrib/hbmxml/hbmxml.c
! Fixed ISBYREF() non-existent macro.
! Fixed MSVC (C++) missing cast.
! Applied uncrustify.
! type_cb() made static. (it's not used anywhere though)
; TOFIX: bcc warning:
Warning W8004 ..\hbmxml\hbmxml.c 585: 'iResult' is assigned a value that is never used in function type_cb
* contrib/hbxdiff/hbxdiff.c
! Fixed build-stopper typo in GC function name.
! Made memory wrapper functions static.
; TOFIX: libxdiff build fails with msvc because of missing unistd.h.
it also doesn't build with bcc, due to many and various errors.
; TOFIX: Update INSTALL with these new libs. Petr, can you do it?