* 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.
* contrib/hbpgsql/tpostgre.prg
+ Formatted.
! Indented.
% Optimized to use SWITCH/CASE.
% Optimized to avoid ASize() and AAdd() in a few places.
+ Using constants for structure array positions.
* contrib/hbpgsql/tpostgre.prg
* contrib/hbpgsql/postgres.ch
* contrib/hbpgsql/postgres.c
+ Added and using HBPG_META_* constants.
* contrib/hbpgsql/postgres.c
! PQEXECPARAMS() fixed to not GPF when non-array is passed as 3rd parameter.
! PQESCAPEBYTEACONN() fixed to not GPF when non-string is passed as 2nd parameter.
! PQFNUMBER() fixed GPF (after prev commit)
% Deleted hb_pcount() checks. This served no useful purpose. It's better to
check for HB_IS*() is we want to enforce some parameters.
* contrib/hbpgsql/postgres.c
* contrib/hbpgsql/tests/test.prg
* Destructor PQCLOSETRACE() marked as deprecated, replaced in
test app with NIL assignment.
! Fixes to FILE object type.
; All this is only relevant if built with NODLL flag.
* contrib/hbpgsql/postgres.c
+ Added GC support for all remaining pointer types (result/cancel/FILE).
+ Added RTE when wrong pointer or wrong number of parameter is passed
to functions.
This means that behavior is now INCOMPATIBLE when wrong parameters
are encountered in these functions.
; Destructor functions PQFREECANCEL(), PQCLOSE(), PQCLEAR() marked
as 'deprecated'.
These are not needed, it's enough to assign NIL to their holder
variables on .prg level.
% Cleanups along the way.
; TODO: Fix sloppy parameter checking which only check number of
parameters instead of enforcing expected type.
; Please test.
* contrib/hbpgsql/tests/async.prg
* contrib/hbpgsql/tests/test.prg
* contrib/hbpgsql/tests/cache.prg
* contrib/hbpgsql/tests/stress.prg
% Replaced deprecated destructor functions with '<var> := NIL'.
* utils/hbmk2/hbmk2.prg
* Formatting.
* contrib/hbct/ascpos.c
* contrib/hbct/ctwfunc.c
* contrib/hbct/ctcrypt.c
* contrib/xhb/filestat.c
* contrib/hbsqlit3/hbsqlit3.c
* contrib/hbnf/fttext.c
* contrib/hbpgsql/postgres.c
* contrib/hbfimage/fi_wrp.c
* contrib/hbgd/gdwrp.c
* source/rtl/mouse53.c
* 'const' cleanup.
; NOTE: I rather didn't commit BYTE to char in CTWIN.
; TOFIX: Some of these will result in warnings when passing values
to external API calls. I'd like to ask developers to review
what the intent was. Sometimes external API declarations
are missing 'const', so it's safe to pass them these buffers,
but it should be checked in documentation.
---
../../fi_wrp.c: In function 'HB_FUN_FI_LOADFROMMEM':
../../fi_wrp.c:372: warning: passing argument 1 of 'FreeImage_OpenMemory' discards qualifiers from pointer target type
C:\devl\FreeImage-3.12.0\Dist/FreeImage.h:771: note: expected 'BYTE *' but argument is of type 'const BYTE *'
../../fi_wrp.c: In function 'HB_FUN_FI_GETFILETYPEFROMMEM':
../../fi_wrp.c:887: warning: passing argument 1 of 'FreeImage_OpenMemory' discards qualifiers from pointer target type
C:\devl\FreeImage-3.12.0\Dist/FreeImage.h:771: note: expected 'BYTE *' but argument is of type 'const BYTE *'
../../gdwrp.c: In function 'HB_FUN_GDIMAGESTRINGFTEX':
../../gdwrp.c:2718: warning: passing argument 4 of 'gdImageStringFTEx' discards qualifiers from pointer target type
C:\devl\gd-2.0.34\include/gd.h:459: note: expected 'char *' but argument is of type 'const char *'
../../gdwrp.c:2718: warning: passing argument 9 of 'gdImageStringFTEx' discards qualifiers from pointer target type
C:\devl\gd-2.0.34\include/gd.h:459: note: expected 'char *' but argument is of type 'const char *'
../../gdwrp.c: In function 'HB_FUN_GDIMAGESTRINGFTCIRCLE':
../../gdwrp.c:2809: warning: passing argument 7 of 'gdImageStringFTCircle' discards qualifiers from pointer target type
C:\devl\gd-2.0.34\include/gdfx.h:41: note: expected 'char *' but argument is of type 'const char *'
../../gdwrp.c:2809: warning: passing argument 9 of 'gdImageStringFTCircle' discards qualifiers from pointer target type
C:\devl\gd-2.0.34\include/gdfx.h:41: note: expected 'char *' but argument is of type 'const char *'
../../gdwrp.c:2809: warning: passing argument 10 of 'gdImageStringFTCircle' discards qualifiers from pointer target type
C:\devl\gd-2.0.34\include/gdfx.h:41: note: expected 'char *' but argument is of type 'const char *'
---
* contrib/hbziparch/hbzipnew.cpp
! Fixed a potential GPFs. (GCC warnings)
* contrib/hbpgsql/postgres.c
* contrib/hbwhat32/_wininet.c
! Fixed two const casting warnings in MSVS non-CPP mode.
- tests/run_test.bat
+ tests/run_prg_all.bat
- tests/gnu_test.bat
+ tests/bld_gnu.bat
- tests/bld4dll.bat
+ tests/bld_b32_dll.bat
+ Some renames in the hope they will be easier to
understand, and more standard.
! Fixed .dll reference.
* contrib/hbziparch/Makefile
! Excluded from Darwin and OS/2 builds.
; NOTE: The Windows build I've tried are now building relatively
clearly, only with the 1) known warnings 2) warnings in
foreign code, plus 3) quite some in contrib/hbwhat32.
Tested compilers:
Win32
BCC551 - OK
BCC582 - OK
MSVS2005 - OK (doesn't work with set HB_BUILD_DLL=yes)
MSVS2005cpp - OK (doesn't work with set HB_BUILD_DLL=yes)
MSVS2008 - OK (doesn't work with set HB_BUILD_DLL=yes)
MSVS2008cpp - OK (doesn't work with set HB_BUILD_DLL=yes)
MinGW412 - OK
MinGW430
Win64
MSVS2008
Fails with:
'include\hbinit.h(218) : fatal error C1189: #error : Unknown initialization method.
MSVS2008cpp - OK (doesn't work with set HB_BUILD_DLL=yes)
Linux-Ubuntu (7.10)
GCC413 - OK (FreeImage f.e. fails.)
Darwin (OS X Leopard 10.5.4)
GCC401
Fails with a lot of:
'Wrong type of codeblock parameter, is: 1, should be: 8'
* tests/extend2.c
* source/debug/dbgentry.c
* contrib/hbodbc/odbc.c
* contrib/hbw32/tprinter.c
* contrib/hbziparch/hbziparc.c
* contrib/hbziparch/hbzipnew.cpp
* contrib/hbpgsql/postgres.c
! Changed strcpy() -> hb_strncpy()
! Changed strcat() -> hb_strncat()
! Some possible buffer overruns fixed along the way in hbziparch.lib
! Fixed some filename buffer sizes in hbziparch.lib
; TOFIX: There are still some remaining strcpy()/strcat()
calls in Harbour code:
core: dbgentry.c, hbwince.c
contrib: hbnf, hbw32, hbwhat32, hbtip
foreign code: zlib, sqlite2/3
Not all of these are necessarily bugs (but it's
difficult to know without checking each).
* 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)
* tests/rto_get.prg
+ Some tests added.
* source/rtl/tget.prg
+ Some notes about C5.x behaviour.
! Formatting/indentation fixes.
% Minor optimizations.
* contrib/xhb/Makefile
* contrib/xhb/common.mak
! Added hbfast.h, hbxml.h
* contrib/hbfimage/fi_winfu.c
* contrib/hbfimage/fi_wrp.c
! Fixed two BCC warnings in new code.
* contrib/hbgd/gdwrp.c
! Changed to generate proper extern references even
for BCC. Now tests compile OK.
The trick was to explicitly #include <windows.h>
before all the other headers, instead of just requesting
it using HB_OS_WIN_32_USED.
* contrib/hbfimage/fi_winfu.c
* contrib/hbfimage/fi_wrp.c
* contrib/hbgd/gdwrp.c
* contrib/hbct/ct.h
* contrib/hbpgsql/postgres.c
- Removed #defining _CLIPDEFS_H. It's only needed when
using Clipper compatibility API headers (*.api, extend.h).