* contrib/hbcurl/hbcurl.c
! Disabled string hashing for curl_formadd() with
CURLFORM_COPYNAME. I've misread the docs (sorry Przemek),
hashing is only needed for CURLFORM_PTRNAME, which we
currently don't use. I've disbled some code to avoid
unused function warnings, but other than that it may
be good to have the possibility for hashing for future
functions too.
! Fixed/Added support for CURLFORM_COPYNAME parameter
with embedded zeroes by passing the string length
using CURLFORM_NAMELENGTH. Not tested.
* harbour/contrib/hbcurl/hbcurl.c
* activate string hasing in all builds for curl_formadd() with
CURLFORM_COPYNAME
* do not use string hasing fro curl_slist_append()
Many thanks to Viktor for help.
* harbour/source/common/hbwince.c
* formatting
* harbour/contrib/hbcurl/hbcurl.c
+ use hash table to keep strings passed to CURL library accessible
even if HVM destroys them. It should allow to safely use HBCURL
wrapper also with CURL library older then 7.17.0 though it can
be a little bit expensive in some cases. The allocated strings
are freed when CURL pointer is destroyed (directly or by
CURL_EASY_CLEANUP()) or reset by CURL_EASY_RESET().
This feature is enabled only when compiled for CURL libraries
older then 7.17.0 or when user set explicitly compile time macro
HB_CURL_HASH_STRINGS
Viktor, you are more familiar with this code so please check it.
* harbour/contrib/hbmysql/Makefile
* harbour/contrib/hbodbc/Makefile
* harbour/contrib/hbsqlit3/Makefile
* harbour/contrib/hbfbird/Makefile
* harbour/contrib/hbcurl/Makefile
* harbour/contrib/hbhpdf/Makefile
* harbour/contrib/hbpgsql/Makefile
* harbour/contrib/hbfimage/Makefile
* harbour/contrib/hbgd/Makefile
* harbour/contrib/hbgf/hbgfgtk/Makefile
* do not add default system include directory to C_USR during testing
for foreign header files when HB_XBUILD variable is set - protection
against including wrong header files in cross builds
* harbour/contrib/hbtpathy/ChangeLog
* changed SVN EOL style to 'native'
* harbour/contrib/hbbmcdx/bmdbfcdx.c
* pacified warning
* contrib/hbcurl/hbcurl.c
! CURL_EASY_GETINFO() will now return the proper type
(with an empty value) if the given info type is not
supported in the libcurl version used at build-time.
(This makes the test program not crash after latest
hbcurl changes.)
* contrib/hbcurl/hbcurl.c
! Fixed compile errors when compiled with some (but not all
possible) older libcurl versions.
; It still requires libcurl 7.17.0 in order to work properly though.
* contrib/hbcurl/make_gcc.sh
* contrib/hbgd/tests/bld.sh
* contrib/hbhpdf/make_gcc.sh
* contrib/hbsqlit2/make_gcc.sh
* contrib/hbsqlit3/make_gcc.sh
* contrib/hbvpdf/make_gcc.sh
+ svn propset svn:executable ON *
; Thanks Marek. I'm updating my local files to avoid
this in the future.
* contrib/hbapollo/make_b32.bat
* contrib/hbapollo/make_vc.bat
* contrib/hbcurl/make_b32.bat
* contrib/hbcurl/make_vc.bat
* contrib/hbfbird/make_b32.bat
* contrib/hbfbird/make_vc.bat
* contrib/hbfimage/make_b32.bat
* contrib/hbfimage/make_vc.bat
* contrib/hbgd/make_b32.bat
* contrib/hbgd/make_vc.bat
* contrib/hbhpdf/make_b32.bat
* contrib/hbhpdf/make_vc.bat
* contrib/hbmysql/make_b32.bat
* contrib/hbmysql/make_vc.bat
* contrib/hbpgsql/make_b32.bat
* contrib/hbpgsql/make_vc.bat
* contrib/rddads/make_b32.bat
* contrib/rddads/make_vc.bat
+ Added possibility to use HB_INC_* envvars to
specify the header directories for external
packages. This way _all_ Harbour make systems
now able to use the same common logic to specify
external header dirs. (For GNU-make you can even
use a dir list).
If HB_INC_* is used with the non-GNU make system,
the .dll to .lib generation _won't_ happen, which
is desirable for binary builds for distribution.
HB_DIR_* envvars continue to work, in this case
.libs are copied/generated from the external .dlls,
and this is useful who build their Harbour from
source.
For official Harbour binary distributions HB_INC_*
must be used.
* harbour/contrib/xhb/Makefile
* harbour/contrib/xhb/common.mak
- harbour/contrib/xhb/hbchksum.c
* removed HB_CHECKSUM() code - it's not necessary
* harbour/contrib/xhb/xhbfunc.c
+ redirected HB_CHECKSUM() to HB_ADLER32()
* harbour/source/rtl/gtwvt/gtwvt.c
! fixed WINCE builds. It was only for MiGWCE which partially emulates
GetSystemMenu() but probably other builds will report that this
function is missing.
If possible please test if current Harbour application can be
executed in real WinCE environment.
* harbour/make_deb.sh
* updated contrib library list
* harbour/contrib/hbmysql/mysql.c
! fixed compilation for older MYSQL versions
* harbour/contrib/gtwvg/gtwvg.c
* harbour/contrib/gtwvg/wvgutils.c
! fixed UNICODE builds
+ harbour/config/none.cf
+ added dummy header file for GNU make to avoid errors on unsupported
platforms
* harbour/contrib/hbw32ddr/Makefile
* harbour/contrib/hbmysql/Makefile
* harbour/contrib/hbodbc/Makefile
* harbour/contrib/hbwhat32/Makefile
* harbour/contrib/hbtpathy/Makefile
* harbour/contrib/hbw32/Makefile
* harbour/contrib/hbole/Makefile
* harbour/contrib/hbapollo/Makefile
* harbour/contrib/hbfbird/Makefile
* harbour/contrib/hbziparch/Makefile
* harbour/contrib/hbcurl/Makefile
* harbour/contrib/hbhpdf/Makefile
* harbour/contrib/rddado/Makefile
* harbour/contrib/gtwvg/Makefile
* harbour/contrib/hbpgsql/Makefile
* harbour/contrib/rddads/Makefile
* harbour/contrib/hbfimage/Makefile
* harbour/contrib/hbgd/Makefile
* harbour/contrib/hbgf/hbgfw32/Makefile
* harbour/contrib/hbgf/hbgfos2/Makefile
* harbour/contrib/hbgf/hbgfgtk/Makefile
* harbour/contrib/hbtip/Makefile
* harbour/contrib/hbbmcdx/Makefile
* updated to not generate errors for unsupported builds
* harbour/harbour-ce-spec
* harbour/harbour-w32-spec
* define whole contrib library list for new contrib/Makefile
+ added header files to respect differences between platform
native and Windows only headers
* harbour/harbour.spec
* define whole contrib library list for new contrib/Makefile
* divided libraries which needs external references into
separated packages
! removed unnecessary dependences in binaries rebuild in shared
mode
* harbour/contrib/hbodbc/odbc.c
* pacified warnings
% minor optimization
* harbour/contrib/hbcurl/hbcurl.c
* harbour/contrib/hbfbird/firebird.c
* harbour/source/vm/extrap.c
* casting to pacify warnings
* harbour/contrib/gtwvg/gtwvg.c
! fixed pointer comparison - C uses different precedence for !
operator then Clipper/xbase
* harbour/source/rtl/hbinet.c
! fixed GPF HB_INET[GS]ET{SND,RCV}BUFSIZE() when wrong
socket parameter is passed. Please remember that after
RT error the control is returned to application.
% removed any hardcoded limits for size of data passed in
single read/write call during normal stream operations
- removed iSndBufSize/iRcvBufSize
* contrib/hbapollo/Makefile
* contrib/hbcurl/Makefile
* contrib/hbfbird/Makefile
* contrib/hbfimage/Makefile
* contrib/hbgd/Makefile
* contrib/hbhpdf/Makefile
* contrib/hbmysql/Makefile
* contrib/hbpgsql/Makefile
* contrib/rddads/Makefile
* Changed to use default for all architecture.
Let's hope that checking existence for mixed platform
paths won't create problems on any platforms.
+ Added include path detection logic to hbapollo, too.
+ Added Darwin path to hbgd include path list.
+ Added std Linux path to hbfbird include path list.
; TOFIX: Seems that 'ifneq ($(HB_INC_*_OK),)' doesn't
really work if no path in the path list is valid.
* contrib/hbapollo/Makefile
* contrib/hbcurl/Makefile
* contrib/hbfbird/Makefile
* contrib/hbfimage/Makefile
* contrib/hbgd/Makefile
* contrib/hbhpdf/Makefile
* contrib/hbmysql/Makefile
* contrib/hbpgsql/Makefile
* contrib/rddads/Makefile
+ Now possible to specify external header location using
the HB_INC_* envars (similar to the ones used in non-GNU
makefiles). In GNU make, multiple dirs can be specified,
and the make system will always autodetect whether the
headers are really there. If not, the build process will
be skipped for that contrib.
Additionally in Linux, the HB_INC_* vars will be inited
with a default, if not specified by the builder. These
default should be verified by Linux users and extended/fixed
accordingly. Most of them were already initialized for
Linux, so there should be no big surprises here.
* contrib/hbmysql/make_b32.bat
* contrib/hbmysql/make_vc.bat
+ Synced C options with GNU make. (-DBIG_JOINS=1 added)
* contrib/hbmysql/make_vc.bat
- Removed -D__WIN32__. Now it seems to work without it.
* contrib/hbcurl/make_gcc.sh
! Fixed example dir in comment.
* contrib/Makefile
- contrib/hbgf/gtk
- contrib/hbgf/os2pm
- contrib/hbgf/win32
+ contrib/hbgf/hbgfw32
+ contrib/hbgf/hbgfos2
+ contrib/hbgf/hbgfgtk
+ contrib/hbgf/Makefile
* contrib/hbgf/hbgfos2/Makefile
+ Decentralized GNU make for these contribs.
* Renamed according to stds.
! Fix to be built under Linux/Win32.
(if they don't work they should be fixed/disabled locally)
* contrib/Makefile
* contrib/hbodbc/Makefile
* contrib/hbw32/Makefile
* contrib/rddado/Makefile
* Further decentralization of contrib building decisions.
+ Added all existing contribs to the list. Separated into
two sections: standalone contribs, and ones with external
dependencies.
; TODO: Refine this by some clever commenting.
This is a multiplatform issue, so we need to
work together.
* contrib/examples/Makefile
! Fixed to include newly added examples.
* contrib/hbapollo/make_b32.bat
* contrib/hbapollo/make_vc.bat
* contrib/hbcurl/make_b32.bat
* contrib/hbcurl/make_vc.bat
* contrib/hbfbird/make_b32.bat
* contrib/hbfbird/make_vc.bat
* contrib/hbfimage/make_b32.bat
* contrib/hbfimage/make_vc.bat
* contrib/hbgd/make_b32.bat
* contrib/hbgd/make_vc.bat
* contrib/hbhpdf/make_b32.bat
* contrib/hbhpdf/make_vc.bat
* contrib/hbmysql/make_b32.bat
* contrib/hbmysql/make_vc.bat
* contrib/hbpgsql/make_b32.bat
* contrib/hbpgsql/make_vc.bat
* contrib/rddads/make_b32.bat
* contrib/rddads/make_vc.bat
+ Some steps made to make it possible to disable
any messings with .dlls. This is not yet complete,
and the goal is to be able to use HB_INC_* to
specify include dirs for external packages on
all make systems (GNU, non-GNU .bat, non-GNU .sh)
[TOMERGE 1.0.0RC1]
* include/hbgtinfo.ch
+ Added comment to compatibility #defines, to not use
them, since they deprecated.
[TOMERGE RC1]
* HB_GTI_CB_* -> HB_GTE_* (stands for GT Event). Removed
plain GTI_ versions, GTI_* range is frozen, pls don't
and new codes to them and especially don't use them in
core code.
* include/hbgfx.ch
* include/hbgfxdef.ch
* contrib/gtwvg/gtwvg.c
* source/rtl/gtxwc/gtxwc.c
* source/rtl/gtwvt/gtwvt.c
* GFX_* constants renamed to HB_GFX_*. The old ones are
still working but it's recommended to update to use HB_GFX_*.
#define HB_GT_NO_XHB to disable the compatibility #defines,
if it collides with your code or you want to test after
transition.
; [TOMERGE RC1]
* source/rtl/dirdrive.c
! Guarded C53 undoc functions with HB_C52_UNDOC, which is enabled
so it won't make a difference in default builds.
; [TOMERGE RC1]
* source/rtl/filesys.c
! Fixed hb_fsIsDrv() to use GetDriveTypeA() API, to avoid some
win32 system MessageBox() to be shown when certain types of
drives (f.e. USB reader devices) are queried.
; Please test.
; TOFIX: hb_fsChDrv() suffers from the same problem.
; [TOMERGE RC1 - after testing]
* contrib/hbcurl/hbcurl.c
* contrib/rddads/adsfunc.c
* contrib/rddads/ads1.c
% Optimized out explicit function name strings in RTE calls.
! The above is actually a fix (I hope) for the one in
hb_adsCheckLock(). Error text also made more consistent.
; [TOMERGE RC1 - after testing]
* contrib/hbw32/w32_prn.c
% Minor optimizations, cleanups.
* contrib/hbmysql/tmysql.prg
* contrib/hbmysql/mysql.c
* contrib/hbmysql/mysql.ch
* contrib/hbtpathy/telepath.ch
* contrib/hbtpathy/tplinux.c
* contrib/hbtpathy/tpwin32.c
* contrib/hbtpathy/tpos2.c
* contrib/hbtpathy/tpcommon.c
* contrib/hbmsql/msql.h
* contrib/hbmsql/msql.ch
* contrib/hbmsql/msql.c
* contrib/hbfbird/firebird.c
* contrib/hbfbird/tests/test.prg
* contrib/hbapollo/apollo.c
* contrib/hbmisc/hb_f.c
* General code cleanup, formatting, minor optimizations,
Harbour API usage cleanup, ANSI comments.
! Several minor fixes to Firebird interface code, but it
still doesn't seem to work, and the code is very unclear,
partly because of the strange/unsafe Firebird API.
! Firebird test.prg fixes: Variable name typos, undeclared
vars, hard-coded paths.
* contrib/hbfbird/make_b32.bat
* contrib/hbfbird/make_vc.bat
* Fixed location where .libs are looked for.
[TOMERGE RC1]
* contrib/hbcurl/hbcurl.c
% Minor cleanups.
[TOMERGE RC1]
* contrib/hbodbc/make_vc.bat
! Removed .dll -> .lib conversion for MSVC,
since the .lib is provided by the MS SDK anyway.
; [TOMERGE RC1]
* contrib/hbcurl/hbcurl.c
* contrib/hbcurl/hbcurl.ch
* contrib/hbcurl/tests/ftp_uldl.prg
! Cleanup the rare case when curl_easy_init() returns NULL.
Functions always return the same type, even in case libcurl
failed to initialize.
+ Returns value for above cases is now HB_CURLE_ERROR (== -1).
! CURL_*() passed pointers now are also checked for the pointer's
type, and RTE is thrown if they are not HBCURL ones. So for
example in the very rare case that any hbcurl functions would
get passed a GC pointer returned by another API, an argument
error would be thrown now.
! CURL_ESCAPE()/CURL_UNESCAPE() fixed picked parameter ordinal.
+ CURL_ESCAPE()/CURL_UNESCAPE() added parameter checking.
; [TOMERGE RC1]
* contrib/rddads/adsmgmnt.c
* Minor formatting.
* source/rtl/gtwvt/gtwvt.c
! Fixed cursor width to be synced properly after
a font change.
! Fixed cursor SC_NORMAL height to be calculated
from the font height, instead of being a static
number. [RC1_TOMERGE]
* contrib/hbcurl/hbcurl.c
+ Added RTEs when wrong parameter was passed
to the remaining functions:
CURL_EASY_STRERROR()
CURL_SHARE_STRERROR()
CURL_MULTI_STRERROR()
CURL_GETDATE()
* contrib/hbcurl/hbcurl.c
+ Now throws RTEs when required parameters are missing
or the wrong type. The concept here is that RTEs are
only to catch syntax mistakes, and not errors resulting
from actual libcurl usage/functionality/states.
* contrib/hbapollo/apollo.ch
* Formatting.
* 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.
* 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.
* 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.
* source/common/hbverdsp.c
! Minor correction.
* Wording/layout. C++/C and ANSI C init mode is now in
one line as "Other build settings".
* contrib/hbcurl/hbcurl.c
+ Comment extended regarding libcurl version requirement.
+ Added version guard (not currently effective).
* contrib/hbw32/w32_prn.c
* contrib/hbhpdf/harupdf.c
! Fixed to not GPF in garbage collector if objects
were explicitly released by caller using HPDF_FREE(),
WIN32_DELETEDC().
* contrib/hbw32/w32_prn.c
% Minor opt.
* Formatting.
* contrib/hbcurl/hbcurl.c
% Minor opt.