* hbpgsql/postgres.c
! Don't request windows.h.
+ Using hb_parptrGC() for PGconn()
+ PQCONNECT() larger buffer for connect string.
! PQCONNECT() not passing trash to PG API if no. of params != 5
! PQCONNECT() buffer overflow vulnerability.
! PQSETDBLOGIN() password could not be passed to PG API due
to typo.
! PQMETADATA() now returns empty array instead of NIL in case
of failure (so test.prg won't RTE).
! PQCREATETRACE(), PQCLOSETRACE(), PQTRACE() now only activated
in 'NODLL' (temp name) is defined, since passing 'FILE *' to
.dlls results in crash.
; TOFIX? added to PQESCAPEBYTEA()
* Formatting.
% Cleanup, optimizations.
; NOTE: I've tried test.prg and while it runs, it doesn't seem
to work properly for some reason.
; TOFIX: Use bh_parptrGC() for PGresult, FILE*.
* hbpgsql/make_vc.bat
+ Now uses the .lib provided in the binary package.
(This needs the current 8.3.1 version)
* harbour/source/vm/macro.c
! pass macro compiled string to error object. It fixes Clipper
incompatible behavior reported by Mindaugas.
! fixed few possible internal errors when user error handler will
try to force wrong substitution
* hbpgsql/make_vc.bat
* hbpgsql/tests/bld_b32.bat
* hbpgsql/tests/bld_vc.bat
! Fixed to use the right .dll to generate the .lib.
; TOMERGE [RC1]
* hbpgsql/tpostgre.prg
* Comment.
* contrib/hbsqlit2/hbsqlit2.c
* Removed commented debug code.
* Code cleanup, optimizations.
! GPFs fixed in many function, when no db was open.
! Automatically closing previous db when opening a new one.
! hb_sqlite2_db initialized with NULL.
* contrib/hbcurl/hbcurl.ch
* contrib/hbcurl/hbcurl.c
* contrib/hbcurl/tests/ftp_uldl.prg
+ Added test for deleting file.
+ Added dummy upload option:
+ CURL_EASY_SETOPT() / HB_CURLOPT_UL_NULL_SETUP
! Fixed all the above setopt options. Very old bug in
hbcurl code. Now rename, delete, other custom commands
plus a few other options work properly:
HB_CURLOPT_HTTPHEADER
HB_CURLOPT_HTTP200ALIASES
HB_CURLOPT_QUOTE
HB_CURLOPT_POSTQUOTE
HB_CURLOPT_PREQUOTE
HB_CURLOPT_TELNETOPTIONS
* contrib/hbcurl/hbcurl.c
* contrib/hbcurl/hbcurl.ch
* contrib/hbcurl/tests/ftp_uldl.prg
+ Added some more test for downloading to memory,
uploading from memory.
+ Added possibility to download to memory, and upload
from memory:
- CURL_EASY_SETOPT() / HB_CURLOPT_UL_BUFF_SETUP
- CURL_EASY_SETOPT() / HB_CURLOPT_DL_BUFF_SETUP
- CURL_EASY_SETOPT() / HB_CURLOPT_DL_BUFF_GET
- CURL_EASY_DL_BUFF_GET() -> <cFileContent>
* Changed a few old Harbour setopt defines:
(old ones are still working to retain compatibility)
- HB_CURLOPT_SETUPLOADFILE -> HB_CURLOPT_UL_FILE_SETUP
- HB_CURLOPT_CLOSEUPLOADFILE -> HB_CURLOPT_UL_FILE_CLOSE
- HB_CURLOPT_SETDOWNLOADFILE -> HB_CURLOPT_DL_FILE_SETUP
- HB_CURLOPT_CLOSEDOWNLOADFILE -> HB_CURLOPT_DL_FILE_CLOSE
- HB_CURLOPT_SETPROGRESS -> HB_CURLOPT_PROGRESSBLOCK
* contrib/hbcurl/hbcurl.c
* Changed all logical options to default to .T.. This
way all work the same way, and in real life usage
the logical parameter can omitted in most cases.
INCOMPATIBLE.
* contrib/hbcurl/tests/ftp_uldl.prg
+ Added small example to get a dir listing.
* contrib/hbcurl/hbcurl.c
+ Changed to use hb_parc() (instead of hb_parcx()) for all
curl_easy_setopt() string options, so that NULL (NIL) will
reset these options to default state, instead of passing
an empty string to them.
* source/rtl/hbbit.c
+ Added important NOTE about hb_bit*() functions'
relation to the compiler optimization engine.
* source/vm/fm.c
* source/vm/extrap.c
* Log filenames converted to static variables. With the
intent that they'll be converted to Set()s or similar
user settable values in the future, since it's useful
and more elegant to redirect these to the app's normal
logfile.
* contrib/hbsqlit3/hbsqlit3.c
* Minor formatting.
* contrib/hbsqlit2/hbsqlit2.c
* Further cleanup, optimizations.
! Converted to use ANSI comment only.
* contrib/hbsqlit3/hbsqlit3.c
% Minor optimization.
* contrib/hbsqlit3/hbsqlit3.c
% Removed __XHARBOUR__ guards.
* Minor cleanups.
* contrib/hbsqlit2/hbsqlit2.c
% Major cleanup, formatting, optimizations.
! INCOMPATIBLE: public vars prefixed with 'hb_sqlite2_'.
* include/hbver.h
+ Added HB_VERSION unified version identifier:
three bytes: major + minor + revision (0x000909)
This is to aid 3rd parties to detect version.
[RC1]
* contrib/hbsqlit3/make_b32.bat
* contrib/hbsqlit3/hbsqlit3.c
! SQLITE3_OPEN(): Fixed potential leak.
+ BCC warnings are now suppressed for the foreign code only,
and this is now effective in all build systems.
* Code formatting.
* include/hbver.h
+ Added HB_VERSION unified version identifier:
three bytes: major + minor + revision (0x000909)
This is to aid 3rd parties to detect version.
* contrib/rddads/adsfunc.c
! Fix to ADSCREATEFTSINDEX().
Thanks Brian and Luis.
* contrib/rddads/ads.ch
* Formatting: Moved #commands together to end of the file.
* Formatting: Aligned #define values to look more organized.
* contrib/hbcurl/hbcurl.c
! Fixed macros used in *_LARGE setopt options.
* contrib/hbcurl/hbcurl.c
* contrib/hbsqlit3/hbsqlit3.c
* Using hb_parnint()/hb_retnint() instead of messing
with LONG_LONG locally.
(missed to send e-mail and update ChangeLog in prev commit)
* contrib/hbcurl/hbcurl.c
! Fixed macros used in *_LARGE setopt options.
* contrib/hbcurl/hbcurl.c
* contrib/hbsqlit3/hbsqlit3.c
* Using hb_parnint()/hb_retnint() instead of messing
with LONG_LONG locally.
* harbour/common.mak
* harbour/source/rtl/Makefile
- harbour/source/rtl/hbrun.c
+ harbour/source/rtl/hbrunfun.c
* renamed hbrun.c to hbrunfun.c to satisfy non GNU make system
* harbour/contrib/hbw32/w32_regc.c
! fixed typo hb_free() => hb_xfree()
! fixed UNICODE build
* harbour/source/vm/itemapi.c
* changed hb_itemPutC() and hb_itemPutCL() to be safe when
user call it passing string which is stored in item passed
as first parameter. It should fix problem located by Chen.
Please test.
* source/vm/extend.c
! hb_storclen_buffer() fixed to free the passed buffer
in case it couldn't be stored. This situation was
easy to miss and difficult to detect for the caller,
and it might cause leaks.
* contrib/hbw32/Makefile
* contrib/hbw32/common.mak
+ contrib/hbw32/hbw32.ch
+ contrib/hbw32/w32_reg.prg
+ contrib/hbw32/w32_regc.c
+ contrib/hbw32/tests/testreg.prg
+ Added Windows registry handling stuff.
Work of Peter Rees <peter@rees.co.nz> / xhb.
* Code cleaned, formatted, optimized a bit.
+ Added an even simpler interface:
w32_regRead( <reg_path> ) -> xValue
w32_regWrite( <reg_path>, <value> ) -> <lSuccess>
where <reg_path> is: "HKCU\key[\subkeys]\entry"
* source/vm/hvm.c
% Minor opt to __SETPROFILE(), __TRACEPRGCALLS()
! __SETPROFILE() to only set the value if a parameter was passed.
This way it's possible to read the value without destroying it.
* contrib/xhb/hbcompat.ch
! Minor fix in hb to xhb branch.
* contrib/hbcurl/hbcurl.ch
* '( 2 ** n )' expressions changed to actual values.
; We now have these optimized, but I'm committing anyway,
as some folks may be scared away by seeing these, and
not knowing it's optimized (and they might not even be
optimized on some Clipper platforms...).
* contrib/mtpl_vc.mak
! Fixed HB_VISUALC_VER to default to '60' rather than
crashing. Same default is used for core make files
already.
* source/common/hbverdsp.c
- Removed 'CA'.
+ Added word 'compatible' to the 'undocumented' line.
* harbour/include/hbexprb.c
! do not optimize HB_BIAND(), HB_BITOR() and HB_BITXOR() when only
one parameter is passed to keep RT error compatibility
* use hb_compExprListStrip() to optimize function calls also when
parameters are passed in parenthesis, f.e.:
? CHR(65), CHR((65))
It's not Clipper compatible and disabled by -kc switch.
Viktor it will interact with some hbtest tests when compile time
optimization used by Clipper gives different results then RT function
f.e. CHR( ( 256 ) ). Please think if we should keep it.
It's important optimization if someone uses constant values or
expressions defined in parentheses.