* harbour/contrib/hbfbird/firebird.c
! use native type for GC pointer item holder instead of casting
to 'void *'. Such casting may strip significant data when handler
is wider type then pointer.
* harbour/contrib/hbnf/fttext.c
! fixed unnecessary casting
* contrib/hbfbird/firebird.c
+ Added GC collected object for db connection.
* Replaced HB_RETNL_FBERROR() with actual code to make
code flow apparent.
* Replaced DIALECT constant with Firebird predefined one.
! Fixed to use ISC_STATUS_ARRAY instead of status arrays
with arbitrary sizes like MAX_FIELDS.
+ Throwing RTEs if non-db pointer is passed in places
where it is required.
* Adjusted scope of some variables.
! Fixed several leaks in FBQUERY().
% Optimized to use hb_xrealloc() instead of using
subsequent hb_xfree()/hb_xgrab() calls.
% Other optimizations.
+ Added TOFIX to more memory leaks.
! Fixed FBGETDATA() to not crash when NULL pointer is passed.
! Fixed FBGETDATA() to not crash when negative position
parameter is passed.
; TOFIX: Convert remaining memory objects to GC collected
ones. Unfortunately the code is quite dirty in this
respect, so it require more serious rewrite in places.
; TOFIX: Address TOFIXes in code.
; Please test it, I don't use this, and didn't make
functional tests.
* contrib/hbfbird/tests/test.prg
+ Displays error on connection failure.
* Formatting.
* src/rtl/fstemp.c
* include/hbapifs.h
* include/hbextern.ch
+ Added HB_DIRTEMP() .prg level function. Returns name of temp dir,
with closing backslash.
+ Added hb_fsTempDir() .c level function.
; Please review, especially MS-DOS, OS/2, which I won't be able
to test.
* src/rtl/fstemp.c
* Cleanup: Deleted hb_fsCreateTempLow(), made layout more clear.
; TOFIX: For some builds, MS-DOS, OS/2 and WIN without WIN IO
the temp directory will be wrongly calculated by checking
TMPDIR envvar. Such envvar seems *nix specific.
If new hb_fsTempDir() will be tested, above can be fixed
by using this new function.
* package/winuni/RELNOTES
+ Noted update to Firebird 2.5.0rc1
* contrib/hbpgsql/postgres.c
+ Marked recently deprecated function as HB_LEGACY_LEVEL3.
* contrib/hbfbird/firebird.c
* Cleanup for a macro.
* contrib/hbnetio/utils/netiosrv.prg
+ Using HB_HRB_BIND_FORCELOCAL when loading .hrb.
* contrib/hbnetio/utils/modules/test.prg
+ Marked function as STATIC.
* ChangeLog
* Old TODO marked DONE.
* config/global.mk
! Fixed svnversion command call to work with older svn versions.
Thanks to Tamas Tevesz.
* contrib/hbfbird/firebird.c
! Fixed all remaining 64-bit compiler warnings. (msvc64, mingw64)
+ contrib/hbnetio/hbnetio.hbc
- contrib/hbnetio/tests/netiotst.hbp
+ contrib/hbnetio/tests/hbmk.hbm
+ Added .hbc file.
* Changed .prg specific .hbp file to generic autoprocessed .hbm file,
referring to .hbc file. This way it's in sync with rest of contribs
and makes it possible to add new tests in a lighter way)
* contrib/hbmzip/hbmzip.c
* contrib/hbblat/blatwrp.c
* contrib/hbfbird/firebird.c
* contrib/xpp/dbcmdx.c
* contrib/xpp/philesx.c
* contrib/rddsql/sqlbase.c
* contrib/rddsql/sqlmix.c
* contrib/gtwvg/gtwvg.h
* contrib/gtwvg/wvgcore.c
* contrib/gtwvg/wvgwing.c
* contrib/hbclipsm/time.c
* contrib/rddads/adsfunc.c
* contrib/rddads/ads1.c
* contrib/hbgd/gdwrp.c
* contrib/hbtip/utils.c
* contrib/hbtip/base64x.c
* contrib/hbtip/encmthd.c
* 'const' cleanup.
; NOTE: I've left some warnings which I couldn't fix,
and there were also cases where code modification
will be needed due to existing bugs now revealed.
* contrib/hbodbc/tests/odbcdemo.prg
* contrib/hbodbc/tests/testodbc.prg
* contrib/hbodbc/todbc.prg
* contrib/hbodbc/odbc.c
* contrib/hbodbc/Makefile
+ Platform protection moved to Makefile level.
+ Lots of type cleanups to use SQL types rather than Windows types.
+ Lots of type cleanups to use large integers where needed.
* Synced Harbour integers API calls with SQL integer sizes.
+ Cleaned __DMC__ hacks.
! Fixed to compile with ODBCVER == 0x0100 and ODBCVER == 0x0200.
* Update Harbour level function names as follows. Old names are
still available, you can disabled them by defining HB_ODBC_LEGACY_LEVEL_OFF macro:
SQLALLOCEN => SQLALLOCENV
SQLALLOCCO => SQLALLOCCONNECT
SQLDRIVERC => SQLDRIVERCONNECT
SQLDISCONN => SQLDISCONNECT
SQLFREECON => SQLFREECONNECT
SQLALLOCST => SQLALLOCSTMT
SQLFREESTM => SQLFREESTMT
SQLEXECDIR => SQLEXECDIRECT
SQLNUMRES => SQLNUMRESULTCOLS
SQLDESCRIB => SQLDESCRIBECOL
SQLEXTENDE => SQLEXTENDEDFETCH
SQLFETCHSC => SQLFETCHSCROLL
SQLROWCOUN => SQLROWCOUNT
SQLSETCONNECTOPTION => SQLSETCONNECTATTR
SQLSETSTMTOPTION => SQLSETSTMTATTR
SQLGETCONNECTOPTION => SQLGETCONNECTATTR
SQLGETSTMTOPTION => SQLGETSTMTATTR
* contrib/hbmysql/mysql.c
% Replaced Windows headers with winsock2.h which seems to
be required by mysql headers.
* contrib/hbfbird/firebird.c
* contrib/rddsql/sqlmix.c
* contrib/hbssl/sslrand.c
% Removed Windows headers.
* contrib/gtwvg/gtwvg.h
* contrib/gtwvg/wvggui.h
+ Readded ugly workaround for mingw64.
* make_gnu.bat
* config/win/global.cf
* HB_BUILD_DLL is now processed by make_gnu.bat and another
internal envvar is used to request DLL flags from the GNU
Make. This way some side effects are avoided when doing a
make_gnu.sh launched build.
* make_gnu.sh
+ Emptying CLIPPER/HARBOUR envvars before starting the build.
(please test)
* contrib/hbfbird/firebird.c
* Minor formatting.
* contrib/hbcurl/hbcurl.c
! Fixed warning/bug in recently added feature.
* contrib/hbfbird/firebird.c
! Added ugly hack to make it compile with Firebird 2.1.1
and BCC 5.8.2 (and upper).
This way all Win32/Win64 builds are now supporting
this newer version of Firebird. DOS still needs 2.0.4.
* contrib/hbwin/win_tole.prg
* contrib/hbwin/win_ole.c
+ Added support for optional License Key.
Borrowed from xhb/Ron Pinkas.
(untested)
* make_vc.bat
* Updated usage text.
* include/hbwince.h
! Fix for Pelles C 5.0 in WinCE/ARM mode.
* include/hbsetup.h
+ Detecting Pelles C 5.0 in ARM mode as HB_WINCE.
* ChangeLog
- Removed some advices not valid anymore from previous entry.
* contrib/mtpl_b32.bat
* contrib/mtpl_vc.bat
* Synced with /make_*.bat so that the name of the .mak
file is now hard-wired instead of being HB_CC_NAME dependent.
This way contribs may be built for WinCE in the future
(this still needs adding WinCE support to mtpl_vc.mak).
* contrib/mtpl_gcc.sh
+ Darwin autodetection was missing.
* contrib/hbfimage/fi_winfu.c
! Added CBM_INIT definition for Pellec C in WinCE mode.
* source/rtl/gtclip.c
+ Added GMEM_MOVEABLE definiction for Pelles C in WinCE mode.
+ config/w32/poccce.cf
+ Added Pellec C WinCE make file.
+ config/w32/msvcce.cf
+ Added WinCE GNU make file for MSVC. Untested, probably not working,
this is just a small step to make the GNU-make equal in feature
with the non-GNU make one.
* config/w32/bcc32.cf
* Minor sync of C options with non-GNU make file.
* config/w32/msvc.cf
* Attempt to sync C options with non-GNU make file.
* contrib/hbfbird/firebird.c
* Minor formatting.
; NOTE1: For better consistency I'd like to rename GNU make compiler names
'mingw32' to 'mingw' (they've dropped '32' long ago), and
'cemgw' to 'mingwce'.
; NOTE2: Pelles C WinCE build still generates following errors:
POLINK: error: Unresolved external symbol 'GetModuleFileNameA'.
POLINK: error: Unresolved external symbol 'RegOpenKeyExA'.
../../math.c(605): error #3120: [asm] Symbol 'inf' is undefined.
contrib\gtwvg\gtwvg.h(78): fatal error #1035: Can't find include file <olectl.h>.
../../ctmath2.c(324): error #3120: [asm] Symbol 'inf' is undefined.
../../win32.c(70): error #2048: Undeclared identifier 'CS_OWNDC'.
../../win32.c(75): error #2048: Undeclared identifier 'IDI_APPLICATION'.
../../win32.c(75): error #2140: Type error in argument 2 to 'LoadIconA'; found 'int', expected 'const char *'.
../../win32.c(181): error #2048: Undeclared identifier 'MFS_DISABLED'.
../../win32.c(194): warning #2027: Missing prototype for 'InsertMenuItem'.
../../win32.c(219): warning #2027: Missing prototype for 'SetMenu'.
../../odbc.c(94): fatal error #1035: Can't find include file <sql.h>.
contrib\hbsqlit3\sqlite3\sqlite3.c(9936): warning #2027: Missing prototype for 'localtime'. [ ... ]
../../w32_ole.c(403): error #2152: Unknown field 'pllVal' of 'union (no name)'.
../../w32_ole.c(403): error #2168: Operands of = have incompatible types 'int' and 'long long int *'.
../../w32_ole.c(408): error #2152: Unknown field 'llVal' of 'union (no name)'.
../../w32_ole.c(786): error #2152: Unknown field 'pllVal' of 'union (no name)'.
../../w32_ole.c(786): error #2144: Type error: pointer expected.
../../w32_ole.c(792): error #2152: Unknown field 'llVal' of 'union (no name)'.
../../hbsyslog.c(31): error #2140: Type error in argument 2 to 'RegisterEventSourceW'; found 'const char *', expected 'const wchar_t *'.
../../hbsyslog.c(97): error #2140: Type error in argument 8 to 'ReportEventW'; found 'const char * *', expected 'const wchar_t * *'.
../../firebird.c(448): error #2149: Undefined size for 'times' with type '(incomplete) struct tm'.
../../firebird.c(479): error #2152: Unknown field 'tm_year' of '(incomplete) struct tm'.
../../firebird.c(480): error #2152: Unknown field 'tm_mon' of '(incomplete) struct tm'.
../../firebird.c(481): error #2152: Unknown field 'tm_mday' of '(incomplete) struct tm'.
../../firebird.c(482): error #2152: Unknown field 'tm_hour' of '(incomplete) struct tm'.
../../firebird.c(483): error #2152: Unknown field 'tm_min' of '(incomplete) struct tm'.
../../firebird.c(484): error #2152: Unknown field 'tm_sec' of '(incomplete) struct tm'.
../../firebird.c(493): error #2152: Unknown field 'tm_year' of '(incomplete) struct tm'.
../../firebird.c(493): error #2152: Unknown field 'tm_mon' of '(incomplete) struct tm'.
../../firebird.c(493): error #2152: Unknown field 'tm_mday' of '(incomplete) struct tm'.
../../firebird.c(502): error #2152: Unknown field 'tm_hour' of '(incomplete) struct tm'.
../../firebird.c(503): error #2152: Unknown field 'tm_min' of '(incomplete) struct tm'.
../../firebird.c(504): error #2152: Unknown field 'tm_sec' of '(incomplete) struct tm'.
../../fi_winfu.c(97): warning #2027: Missing prototype for 'CreateDIBitmap'.
../../fi_winfu.c(98): error #2048: Undeclared identifier 'CBM_INIT'.
../../fi_winfu.c(99): error #2168: Operands of = have incompatible types 'HBITMAP' and 'int'.
../../fi_winfu.c(150): warning #2027: Missing prototype for 'GetDIBits'.
[ lots of them with hbmysql ]
* harbour/contrib/hbw32/w32_ole.c
* removed hack with malloc()/free() directly used to avoid
memory leak reports - it's not necessary in Harbour.
* harbour/contrib/hbfbird/firebird.c
* harbour/contrib/examples/pp/hbppcore.c
! fixed buffer size calculation in hbstrnc*() functions
* harbour/contrib/hbziparch/hbzipnew.cpp
% use hb_strdup() instead of hb_xgrab()/hb_strncpy()
* harbour/contrib/hbnf/getenvrn.c
! use hb_xgrab() instead of hb_xalloc() - the returned value
was not checked and internal error is for sure better then
GPF on NULL pointer
* harbour/source/rdd/dbfntx/dbfntx1.c
! use memcpy() instead of hb_strncpy() to avoid problems when
there is no place for tailing 0
* source/pp/hbpp.c
* source/vm/cmdarg.c
* source/vm/memvars.c
* source/rtl/dates.c
* source/rtl/fstemp.c
* source/rtl/gtchrmap.c
* source/rtl/gtcrs/gtcrs.c
* source/rtl/gtpca/gtpca.c
* source/rtl/gtstd/gtstd.c
* source/rdd/dbf1.c
* source/rdd/dbfntx/dbfntx1.c
* contrib/hbct/disk.c
* contrib/hbfbird/firebird.c
* contrib/hbw32/w32_ole.c
* contrib/xhb/hboutdbg.c
* contrib/examples/pp/hbppcore.c
* strncpy() -> hb_strncpy()
* strncat() -> hb_strncat()
! In most of these places the terminating zero
was not explicitly set by the caller before.
* contrib/hbnf/getenvrn.c
* contrib/hbw32/dllcall.c
* contrib/hbw32/w32_ole.c
* contrib/hbwhat32/_wincdlg.c
* contrib/hbwhat32/_windll.c
* contrib/hbwhat32/_winmain.c
* contrib/hbziparch/hbzipnew.cpp
! strcpy() -> hb_strncpy()
! strcat() -> hb_strncat()
; TOFIX1: There are still two strcpy()s left in SQL_SPRINTF().
Xavi, could you pls take a look at it?
; TOFIX2: There are still a few strcpy()s in hbwince.c and
dbgentry.c.
* source/pp/hbpp.c
* source/rtl/gtcrs/gtcrs.c
* source/rtl/gtpca/gtpca.c
* source/rtl/gtstd/gtstd.c
* contrib/hbfbird/firebird.c
* contrib/hbwhat32/_wincdlg.c
* contrib/hbwhat32/_windll.c
! Fixed wrong buffer sizes (or no buffer limits) in some
string copy operations (potential buffer overruns).
* contrib/hbnf/getenvrn.c
! Fixed bad leak in FT_GETE() on Win32 systems.
* source/rtl/fstemp.c
! hb_fsTempName(): Fixed potential buffer overrun by one byte.
* Minor formatting.
* source/rtl/fstemp.c
* source/rtl/hbffind.c
* contrib/xhb/hboutdbg.c
* Using sizeof() instead of explicit size in string copy operations.
; TODO: There is a lot more to fix like this.
; Przemek, could you double check these changes pls?
I can send you the .diff if it helps.
* include/hbdefs.h
! Changed HB_SYMBOL_UNUSED() to better work for all
compilers, notably Pelles C.
! Fix to PFLL, although it didn't fix all GCC 4.3.1 warnings.
These remained:
../../genc.c:1582: warning: unknown conversion type character 'l' in format
../../genc.c:1582: warning: too many arguments for format
[ This changed got merged with existing commit. ]
; Thanks to Przemek for these patches.
* contrib/hbfbird/firebird.c
% Using PFLL instead of local logic.
* contrib/gtwvg/wvgutils.c
! Reverted some wrong fixes from previous commit.
* 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/hbfbird/firebird.c
! Fixed two bugs signaled by GCC 4.30.
* contrib/hbziparch/hbcomprs.c
* contrib/hbziparch/zip.c
* contrib/hbziparch/ziparchive.cpp
* contrib/hbziparch/include/zip.h
* contrib/hbziparch/include/ziparchive.h
* contrib/hbziparch/include/unzip.h
* contrib/hbziparch/include/zipinternalinfo.h
- contrib/hbziparch/include/hbcomprs.h
- contrib/hbziparch/include/zutil.h
- contrib/hbziparch/include/zconf.h
! Stripped an old version (1.1.4) of ZLIB embedded in this
contrib. Some warnings and even more security problems
fixed this way. Users of this lib should link hbzlib.lib
from now on.
! Fixed some warnings after recent update.
NOTE: One is still there (unused ..HBZIPCLEANUP function).
; NOTE: The quality of this code is not up to Harbour
standard. It compiles with a large amount of warnings
on all (BCC, MSVC, GCC) compilers. Also the included
ziparch source is dated.
Anybody volunteering to clear these up?
; NOTE: Please test these changes, I'm not a user of this
contrib.
[TOMERGE 1.0.0RC1]
* 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]