* contrib/rddads/rddads.hbc
* do not force shared mode for host project if HB_DYNLOAD_RDDADS
is enabled. It should fix hbide forced to be built in
-shared mode unconditionally after enabling rddads
support in hbide in 2012-06-14 12:01 UTC+0200
; please test
* src/lang/hu.c
+ translated rest of strings to Hungarian
(though they seem to make much more sense in English)
* harbour/src/common/hbdate.c
* increased stability of hb_dateDecode() for date values having year > 9999
* harbour/contrib/rddads/ads1.c
! fixed errorous fallthrough (the value of rowversion and autoincrement
fields was float but not integer)
* minor formatting
* harbour/contrib/rddads/adsx.c
* LPMIXKEY -> PMIXKEY, LPMIXTAG -> PMIXTAG. Let's forget about long
pointers and memory segmentation
+ implemented ADSX tag (custom tag) update on RDD PutValue method
* contrib/rddads/ads1.c
* contrib/rddads/adsfunc.c
* contrib/rddads/adsx.c
* src/common/hbfsapi.c
! deleted explicit newlines at EOL in HB_TRACE() calls
* INSTALL
+ added new '0. GUARANTEES AND LIABILITY' section
! updated instructions to create debug build
* utils/hbmk2/hbmk2.prg
* minor cleanups
* utils/hbmk2/Makefile
+ enabled dynamic version of hbmk2 only for mingw builds.
Rest of the targets may or may not work due to CRTL
usage (fprintf()) from HB_COMPILE*() calls which causes
GPF in currently generated shared builds, most probably
due to double copy of statically linked CRTL code.
mingw uses MSVCRT.DLL, so it's not prone to this.
Solution is either to avoid file handling CRTL calls
in compiler code, or to tweak -shared build setting to
death to make it work for all non-mingw compilers.
Both of these is very difficult.
This means that dynamic module loading from scripts
will only work in hbmk2 built with mingw.
; TOFIX: 'make clean' on contribs doesn't work with mingw,
because harbour dll is deleted before hbmk2 is
called, so it cannot be started for cleanup.
* harbour/contrib/xhb/hbcompat.ch
* added few more translation rules
* harbour/contrib/xhb/hbxml.ch
* synced with xHarbour
* harbour/contrib/rddads/rddads.h
* harbour/contrib/rddads/ads1.c
* harbour/contrib/rddads/adsfunc.c
* moved ADS call back to TSD
+ added optional support for storing connection handler in TSD.
By default it's disabled and can be enabled by compile time
macro: HB_ADS_TSD_CONNECTION
(i.e. set/export HB_USER_CFLAGS=-DHB_ADS_TSD_CONNECTION)
I added it for tests. I'm still waiting for code example
which can exploit problems in ACE library when single connection
handle is used by different threads.
* contrib/rddads/ads1.c
+ Enhanced: growning ahIndex from 50 to 512 to allows virtually unlimited TAG
Needed for Free Text search where each field must be indexed.
(would otherwhise generate an ADS error 5005).
* contrib/rddads/tests/datad.prg
! fixed 'field -> id' index expr which wasn't recognized by ADS
* contrib/rddads/tests/datad.prg
* contrib/rddads/tests/testmg.prg
! use hb_libpostfix()
* contrib/hbide/idemain.prg
! use hb_libpostfix() which fixes loading rddads on non-win
systems (untested, I can't wait for HBQT build to finish)
* harbour/src/rtl/arc4.c
! changed size parameter passed by reference to sysctl() to size_t
! fixed WINCE builds
% enable pid checking only in *nix systems.
If system does not support fork() or compatible operation
(i.e. vfork(), clone()) then PID checking is completely useless.
* harbour/src/rtl/gtwvt/gtwvt.c
* pacified WINCE warnings
* harbour/contrib/rddads/adsx.c
! fixed potentially uninitialized pTag variable
* utils/hbmk2/hbmk2.prg
+ Added experimental -c=[iso90|iso99|iso1x|gnu90|gnu99|gnu1x] and
-cpp=[iso98|iso0x|gnu98|gnu0x] hbmk2 options to select
C/C++ dialect in a C compiler and built setting independent way.
It will currently affect GCC and compatible family of compilers.
If you happen to know about C dialect/std selection in other
compilers, pls tell and they can be mapped to this option.
F.e. in other win compilers the adaptation to C/C++ stds is very
fuzzy, where such option exists at all (f.e. BCC -A* options),
mostly it's just toggling some compiler extensions.
Comments are welcome of course.
+ Added TOFIX for vxworks with potential disagreement on C std level.
I used hardwired C99 forcage hack while porting Harbour to it.
+ Added internal logic for C- and C++-only options.
; NOTE: Behavior with Objective C sources is yet to be tested.
* contrib/hbmzip/3rd/minizip/minizip.hbp
* contrib/hbunix/hbunix.hbp
* contrib/gtalleg/gtalleg.hbm
* contrib/xhb/xhb.hbp
* contrib/hbqt/hbqt_common.hbm
* contrib/rddads/rddads.hbp
* contrib/hbfimage/hbfimage.hbp
* contrib/hbpre.hbm
* contrib/hbssl/hbssl.hbm
+ -cflag=-std=... => -c=gnu90 hbmk2 option.
* contrib/hbmxml/3rd/minixml/mxml.hbp
* contrib/hbmxml/3rd/minixml/config.h
* Testing without HAVE_SNPRINTF/HAVE_VSNPRINTF in ANSI C89 mode.
* utils/hbmk2/hbmk2.prg
+ Added '-cflag+=' experimental option which works like
-cflag=, but it adds the custom flag _after_ C flags
added internally by hbmk2. This allows for some better fine
tuning (f.e. see rddads.hbp). Another possbility would
have been to move all user flags after internal ones,
but this could make it easy to break builds, and it
would also make cflags behave differently than the rest,
so I decided to add this new syntax.
+ Some step to support hbmk2 options to control C/C++ dialect.
% Minor optimization in formed C compiler and linker cmdlines.
* contrib/rddads/rddads.hbp
! Fixed gcc option to disable stupid warning caused
by sloppy #pragma usage in ACE header.
Also changed to use '-cflag+=' to make it work.
At last!
* utils/hbmk2/hbmk2.prg
+ new filter values: lngcpp and lngc. Can be used to
check forced C++/C mode.
* contrib/hbmzip/3rd/minizip/ioapi.h
* contrib/hbmzip/3rd/minizip/zip.h
* contrib/hbmzip/3rd/minizip/minizip.dif
! C++ -> ANSI C comments
* contrib/hbmzip/3rd/minizip/minizip.hbp
! Override c89 mode with gnu89. For f*64() functions.
* contrib/rddads/rddads.hbp
! Override c89 mode with gnu89. ADS headers need it.
* contrib/hbpre.hbm
+ Forcing c89 mode for GCC family compilers (in non C++ forced mode)
Results were pretty good and Harbour/3rd party code complies
very well.
* contrib/hbunix/hbunix.hbp
* contrib/hbcurl/hbcurl.hbm
* contrib/hbnetio/hbnetio.hbp
* contrib/gtwvg/gtwvg.hbp
* contrib/hbwin/hbwin.hbp
* contrib/hbsqlit3/hbsqlit3.hbp
* contrib/hbexpat/hbexpat.hbp
* contrib/hbmemio/hbmemio.hbp
- Deleted just added local c89 mode forcage. Now it's done global.
* contrib/hbqt/qtgui/hbqtgui.h
! Fixed HBQT_TYPE_QIcon redefinintion. Pls check, I didn't rebuild the
whole package after the mod.
* contrib/hbnetio/utils/hbnetio/hbnetio.hbp
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
+ contrib/hbnetio/utils/hbnetio/netiosvc.prg
+ hbnetio will act as a service on Windows platform.
To run it interactively from console, use: 'hbnetio -a'
; TOFIX: I'm getting 'error 1067' when starting up the
service. It get resolved when I build hbnetio in
-st mode. (I use mingw and did a full rebuild)
* contrib/rddads/rddads.hbp
! Suppressing annoying mingw warning in ace.h.
; TOFIX: hbmk2 overrides this ATM.
* contrib/rddads/rddads.h
* contrib/rddads/ads1.c
! Fixed to check ADS_LIB_VERSION instead of ADS_LONGLONG to
enable longlong related features.
* Changed to use ADS_LIB_VERSION to detect availability of
ADS_MONEY.
* Deleted hack (which was a pending QUESTION for at least 4 years
now) which redefined ADS_MAX_KEY_LENGTH for ADS 7.10 to 256,
while the official value is 4082 there. Now rddads uses whatever
value is defined by ADS header.
! Deleted hack to force usage of ADS_CISTRING, ADS_ROWVERSION,
ADS_MODTIME. Now these features will be enabled based on
ADS_LIB_VERSION. This was old pending TOFIX. It may
theoretically change behavior for these field types in certain
client/server version combinations, ..or not. Pls comment,
I'm not ADS user.
! Added missing cast/warning when built against ADS 5.00.
* contrib/rddads/ads.ch
! Deleted COMMIT command which collided with Clipper
command of the same name. If you need old ads.ch
functionality, replace these command with AdsWriteAllRecords()
call.
* contrib/rddads/adsx.c
* contrib/rddads/ads1.c
! Fixed to always defined ADSVFP and ADSVFPX.
(otherwise the .hbx file content will be dependent
on version of the 3rd party dependency)
* contrib/rddads/ads.ch
+ Added TOFIX regarding COMMIT cmd.
* contrib/hbtip/cgi.prg
! Fixed TOFIX where *nix specific temp dir was hard-wired into
multiplatform code. Pls test it.
* contrib/rddads/ads.ch
! Restored deleted ADS commands.
* contrib/hbtip/cgi.prg
* Updated from file sent to the list by Lorenzo.
I had to fix a problem which made it obvious that the
file was never even compiled in Harbour SVN tree, so
please review it. This change also makes this class
incompatible with previous version.
* doc/en/rdd.txt
* doc/en/terminal.txt
! Two typos. (sent to users's list by Alain Aupeix)
- 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.
* harbour/contrib/rddads/ads1.c
+ added DBFIELDINFO( DBS_ISNULL, ) support
; ADT tables support NULL values, but ADS returns ISNULL=.T. for
all empty CDX values.
; This modification does not alter FIELDGET() values
* harbour/contrib/hbmemio/memio.c
* pacified MSVC warnings
* harbour/src/rdd/dbf1.c
* harbour/src/rdd/sdf1.c
* harbour/src/rdd/delim1.c
* harbour/src/rdd/dbffpt/dbffpt1.c
* harbour/src/rdd/dbfntx/dbfntx1.c
* harbour/src/rdd/dbfnsx/dbfnsx1.c
* harbour/src/rdd/dbfcdx/dbfcdx1.c
* harbour/contrib/rddads/adsx.c
* harbour/contrib/rddbmcdx/bmdbfcdx.c
* harbour/contrib/rddsql/sqlbase.c
* harbour/contrib/rddsql/sqlmix.c
* harbour/contrib/sddmy/sddmy.c
* harbour/contrib/sddfb/sddfb.c
* harbour/contrib/sddpg/sddpg.c
* harbour/contrib/sddoci/sddoci.c
* harbour/contrib/sddodbc/sddodbc.c
* harbour/contrib/sddsqlt3/sddsqlt3.c
* harbour/include/harbour.hbx
* harbour/contrib/rddads/rddads.hbx
* declare *_GETFUNCTABLE() functions as static - they do not have to
be public C functions
* simplified if possible RDD registration code and modified
supper RDD request method so it's not stripped by compiler
when hb_errInternal() function is declared with NORETURN
attribute
* harbour/src/rdd/dbfntx/dbfntx1.c
* harbour/src/rdd/dbfnsx/dbfnsx1.c
* harbour/src/rdd/dbfcdx/dbfcdx1.c
* harbour/contrib/rddads/ads1.c
* casting cleanup
* harbour/contrib/hbssl/ssl.c
* use hb_itemGetWriteCL() instead of hb_itemUnShareString()
! do not allow to overwrite trailing 0 in string item - we
have such code in FREAD() which uses hb_parcsize() instead
of hb_parclen() but only for strict compatibility with CL5.x
FREAD() function and it should not be replicated in any other
code - strings without trailing 0 may cause GPF in some other
code uisng [hb_]str*() C functions.
* harbour/contrib/rddads/ads1.c
! fixed varchar support for windows introduced in one of last commits
; Varchar is not working, if ADS is set to use "OEM charset support",
because AdsGetFieldRaw() returns raw field data and maximum field
length value is always returned.
ADS_USE_OEM_TRANSLATION is actually ugly hack to solve some DOS/WIN
codepage issues. I'm not sure what was the reason to introduce it.
Sharing the same database between DOS and Windows app or what?...
It would be nice if someone who need this setting will test and
support logic in case of variable string, binary string, unicode
string.
* harbour/contrib/hbct/bitnum.c
! fixed && operator wrongly used instead of & in function NumMirr()
* harbour/contrib/rddads/ads1.c
* removed variable declaration which was hiding other one
with the same name
* harbour/src/rtl/hbdyn.c
* harbour/src/rtl/gtsln/mousesln.c
* harbour/src/rtl/gtsln/kbsln.c
* harbour/tests/bldtest/bldtest.c
! aded mising ( void ) to declarations of functions
without parameters ()
* contrib/make.hbs
! Don't pickup dependencies with long-filename on MS-DOS hosts.
Please test.
* contrib/hbplist
! Added missing dependency comment.
* contrib/rddads/rddads.h
! Fixed mingw warnings after recent change. Now _declspec
is only defined for mingw, if it isn't already. Pls review me.
* utils/hbmk2/hbmk2.prg
* Formatting.
* harbour/src/vm/fm.c
* added workaround for some compiler which defines FORCEINLINE
macro with 'extern' keyword (i.e. some MinGW versions).
* harbour/contrib/rddads/rddads.h
* added workaround for some MinGW versions which do not understand
_declspec() but only __declspec()
* contrib/rddads/rddads.hbp
! Reordered lookup order for possible .dll (+ COFF .lib) location
to fix implib generation with some ADS releases (7.x, 8.x).
* harbour/src/rtl/gttrm/gttrm.c
! added protection against GPF when wrong parameters are
passed to hb_gtInfo( HB_GTI_ADDKEYMAP, ... )
* harbour/src/rtl/hbgtcore.c
! added protection against GPF when wrong parameters are
passed to hb_gtAlert()
* harbour/src/rtl/gtapi.c
* formatting
* harbour/src/rtl/cdpapi.c
! fixed return value in hb_cdpStrAsU16Len()
* harbour/src/rdd/dbf1.c
* harbour/src/rdd/dbffpt/dbffpt1.c
+ added support for UNICODE fields compatible with the one used
by ADS
* harbour/contrib/hbxbp/hbxbp.hbx
+ automatically updated
* harbour/contrib/rddads/ads1.c
* casting
* harbour/doc/xhb-diff.txt
* updated information about PRG level hb_socket*() API
+ added information about serial port support
* harbour/include/hbapirdd.h
+ added new field flag: HB_FF_UNICODE
* harbour/contrib/rddads/ads1.c
+ added support for new ADS 10.0 UNICODE fields: NChar, NVarChar, NMemo
They are supported in all ADS* RDDs.
* harbour/utils/hbmk2/hbmk2.prg
! disabled automatic generation of dll_hb_vmProcAddress()
in binaries linked with hbmaindllp library.
Such function should be attached to the code linked with
HVM on user request i.e. using some new HBMK2 switch.
* harbour/contrib/xhb/xhw32prn.prg
* added dummy WIN32BMP() function in non MS-Windows builds
* harbour/contrib/rddads/adsfunc.c
* added dummy ADSREGCALLBACK() and ADSCLRCALLBACK() functions
to Linux builds
* harbour/contrib/hbxpp/hbxpp.hbx
* harbour/contrib/hbqt/qtgui/hbqtgui.hbx
* harbour/contrib/hbqt/qtcore/hbqtcore.hbx
* automatically updated by HB_REBUILD_EXTERN=yes