* src/vm/runner.c
! Minor to prev.
* include/hbapi.h
* src/vm/extend.c
+ Added hb_parnsize(), hb_retnsize(), hb_stornsize() functions.
; NOTE: These should be used in place of hb_parnl(), hb_retnl(),
hb_stornl() when passing HB_SIZE types.
; TODO: Use them all accross Harbour if they are correct and
after being finalized.
* src/vm/itemapi.c
+ Added hb_itemGetNSize(), hb_itemPutNSize() functions.
* DATETIME stuff in hb_itemGetNL() marked as HB_LEGACY_LEVEL3.
; QUESTION: It's marked as to be deleted in the TODO, so maybe we should
rather delete it.
* include/hbapiitm.h
* src/rtl/filesys.c
+ hb_fsReadAt(), hb_fsWriteAt(): Added support for Win64 HB_SIZE.
; QUESTION: I assume these functions have the purpose of being
atomic seek + read without moving the file pointer,
which means current modification isn't safe. How
can this be solved given Windows doesn't seem to have
64-bit read/write API calls?
! Fixed old copy-paste typos in Windows OVERLAPPED initialization,
where the lines were ended with command instead of semicolon,
they didn't cause any harm though in their former location.
% Reverted a minor change from prev commit to make it
possibly a little bit faster, like it was before.
* src/rtl/hbzlib.c
+ Added casts (at external interface calls) and other fixes to
make it build for Win64 without warnings.
* src/rdd/dbfntx/dbfntx1.c
* src/rdd/dbfnsx/dbfnsx1.c
* src/rdd/dbfcdx/dbfcdx1.c
* src/rdd/dbffpt/dbffpt1.c
* contrib/rddbmcdx/bmdbfcdx.c
* HB_ULONG -> HB_SIZE where appropriate to avoid Win64 errors
and some warnings. I'm still not comfortable to touch this
code, but it could certainly need a type cleanup.
* include/hbdefs.h
+ Added HB_PFS macro which holds the printf() format string
for HB_SIZE value.
; TODO: Use it all accross Harbour.
* contrib/hbmysql/mysql.c
* contrib/sddmy/sddmy.c
* contrib/hbmzip/hbmzip.c
* contrib/hbcurl/hbcurl.c
* contrib/hbhpdf/harupdf.c
* contrib/hbpgsql/postgres.c
* contrib/rddads/adsfunc.c
* contrib/rddads/ads1.c
* contrib/hbfimage/fi_wrp.c
* contrib/sddodbc/sddodbc.c
* contrib/hbgd/gdwrp.c
* contrib/hbwin/wapi_wingdi.c
* contrib/hbwin/wapi_winbase.c
* contrib/hbwin/wapi_winuser.c
* contrib/hbwin/win_bmp.c
* contrib/hbwin/win_prn1.c
* contrib/hbwin/win_regc.c
* contrib/hbssl/evpciph.c
* contrib/hbssl/ssl.c
* contrib/hbssl/bio.c
* contrib/hbssl/sslctx.c
* contrib/hbssl/evpenc.c
* contrib/hbssl/pem.c
* contrib/hbssl/rand.c
* contrib/hbssl/evp.c
+ Added necessary casts at external component boundaries to
make Win64 builds warning-free.
* contrib/hbct/ctstrfil.c
+ HB_ISIZ -> HB_FOFFSET, hb_fsSeek() usage, other type cleanup
to handle file offsets correctly.
* contrib/xhb/hbnxs.h
* contrib/xhb/hbcrypt.c
! Fixed warnings for Win64.
* contrib/hbwin/win_prn3.c
* contrib/xhb/dbf2txt.c
* contrib/xhb/fparse.c
* int -> HB_ISIZ for Win64.
* contrib/xhb/freadlin.c
* hb_fsSeek() -> hb_fsSeekLarge().
* contrib/sddfb/sddfb.c
* Minor type cleanup to make Win64 warning-free.
* contrib/hbsqlit3/hbsqlit3.c
+ Added necessary casts at external interface calls.
% Deleted one dummy operation from SQLITE3_FILE_TO_BUFF().
* contrib/rddsql/sqlmix.c
* contrib/rddads/adsx.c
* HB_ULONG -> HB_SIZE.
* contrib/gtwvg/gtwvg.c
* contrib/gtwvg/wvggui.c
* contrib/gtwvg/wvgcuig.c
* contrib/gtwvg/wvgwin.c
* contrib/gtwvg/wvgutils.c
* contrib/gtwvg/wvgcore.c
! int -> HB_ISIZ/HB_SIZE
+ Added necessary casts at external component boundaries to
make Win64 warning-free.
* contrib/rddads/ads1.c
* HB_ULONG -> HB_SIZE
* contrib/hbtip/utils.c
* int -> HB_ISIZ
! Fixed to use HB_FOFFSET type to save/restore file position.
* ChangeLog
+ Added missing item to previous log entry:
! Fixed hb_fsCurDirBuff() for Win64.
; It's quite large commit, nevertheless I'd highly appreciate
peer review, and certainly there will be places which need
better or different solution for Win64.
* contrib/xhb/hbxml.c
! Applied recent heavy leak fixes from xhb project.
(with some modifications)
* Formatting.
% Optimized out two local variables.
- contrib/rddsql/sddodbc
+ contrib/sddodbc
* contrib/sddodbc/Makefile
* contrib/sddodbc/sddodbc.hbc
! Moved to contrib root. (somehow missed from previous
commit when other sdd* libs were moved)
* harbour/contrib/rddsql/hbrddsql.h
* harbour/contrib/rddsql/sqlbase.c
* harbour/contrib/rddsql/sddfb/sddfb.c
* harbour/contrib/rddsql/sddmy/sddmy.c
* harbour/contrib/rddsql/sddoci/sddoci.c
* harbour/contrib/rddsql/sddodbc/sddodbc.c
* harbour/contrib/rddsql/sddpg/sddpg.c
* harbour/contrib/rddsql/sddsqlt3/sddsqlt3.c
* moved SDD backed specific data from SQLCONNECTION and SQLAREA
to a separate SDDCONN and SDDDATA structures. This helps to
avoid fake type casting and warinings like "break
strict-aliasing rules".
* 1 -> HB_TRUE
* formatting, style
! connection array is now array of connection pointers. This
fixes GPF if many connections are created and connection
table has to be reallocated
* contrib/hbct/ctnet.c
* contrib/hbtpathy/tpwin.c
* contrib/hbnf/getenvrn.c
! Fixed to disable some functionality on all WinCE platforms.
These were WinCE API functions wrongly declared in
mingwarm/poccarm headers. (thus causing link-time errors
for final apps trying to use these functions)
* contrib/hbwin/win_dlg.c
! Enabled more functionality for WinCE. mingwarm builds
will probably crash due to buggy commdlg.h header.
* src/vm/fm.c
! Fixed to redefine ABORT for all wce/msvcarm targets.
* utils/hbmk2/hbmk2.prg
! Minor typo in recently added help item.
* contrib/gtwvg/gtwvg.h
* contrib/gtwvg/wvggui.h
* contrib/hbwin/win_prn1.c
* contrib/hbwin/win_prn2.c
* contrib/hbwin/win_prn3.c
* contrib/hbwin/win_dlg.c
* contrib/hbodbc/odbc.c
* contrib/rddsql/sddodbc/sddodbc.c
! Fixed to compile with -DWIN32_LEAN_AND_MEAN.
* contrib/hbssl/evpmd.c
! Disabled md2 support for >= 1.0.0 OpenSSL versions.
Seems they dropped it.
* contrib/hbssl/ssl.c
* contrib/hbssl/x509.c
* contrib/hbssl/sslctx.c
! Disabled some code parts which didn't compile with
>= 1.0.0 OpenSSL versions. This is not the right fix,
but I just can't figure what went wrong (or what
has been changed) in OpenSSL which cases it. There
is something wrong around 'X509_NAME' symbol.
* utils/hbmk2/hbmk2.prg
* config/beos/gcc.mk
* config/bsd/gcc.mk
* config/wce/mingwarm.mk
* config/darwin/gcc.mk
* config/hpux/gcc.mk
* config/win/mingw.mk
* config/win/cygwin.mk
* config/linux/gcc.mk
* config/linux/icc.mk
* config/os2/gcc.mk
* config/sunos/gcc.mk
- Deleted '-pipe' option. Efficient, but buggy. It didn't take
too long to bump into the problem: On build error, the
.o file is generated with some dummy content, so a second
build attempt will silently make build errors ignored.
* contrib/rddsql/sddfb/sddfb.c
* Minor formatting.
* src/rtl/filesys.c
! Fixed fs_win_get_drive() to return zero (instead of -1)
when drive letter wasn't returned by Windows API.
(it's not clear what is the proper error behavior here)
! Fixed fs_win_set_drive() to apply upper limit on input
parameter.
* contrib/rddsql/sddfb/sddfb.c
* Minor formatting.
* contrib/rddsql/sddfb/sddfb.c
! Few cleanups in the FB RDDSQL interface (macro and type usage).
; It's not an attempt to fix recently reported bugs on the list.
* contrib/hbmysql/hbmysql.hbc
* contrib/rddsql/sddmy/sddmy.hbc
! Fixed library name for Linux platforms.
I hope it also works for other *nix systems.
(On darwin/macports it doesn't because they placed
the lib in a subdir, but at least the lib name is
right)
+ external/bzip2
+ external/bzip2/LICENSE
+ external/bzip2/Makefile
+ external/bzip2/cnv_hb2o.bat
+ external/bzip2/cnv_o2hb.bat
+ external/bzip2/blocksor.c
+ external/bzip2/bzip2.c
+ external/bzip2/bzlib.c
+ external/bzip2/compress.c
+ external/bzip2/crctable.c
+ external/bzip2/decompre.c
+ external/bzip2/huffman.c
+ external/bzip2/randtabl.c
+ external/bzip2/bzlib.h
+ external/bzip2/bzlib_pr.h
+ Add locally hosted bzip2 library. Experimental, we
don't use it yet. Will be deleted if of no use, or
not portable enough. ATM OS/2, DOS and WCE targets
are not supported.
* external/pcre/pcre.dif
- Deleted not more required local patch, since
we're not using legacy (Windows) types anymore
in Harbour.
* external/pcre/pcre.h
* external/pcre/pcreexec.c
* external/pcre/pcreinal.h
* external/pcre/pcredfa.c
* external/pcre/pcrecomp.c
* external/pcre/config.h
* external/pcre/LICENCE
* external/pcre/pcreprni.h
* external/pcre/pcrestud.c
+ Updated to 8.0.1 (from 8.0.0)
* external/libpng/pngrio.c
* external/libpng/pngconf.h
* external/libpng/pngwrite.c
* external/libpng/pngset.c
* external/libpng/pngpread.c
* external/libpng/pngwtran.c
* external/libpng/LICENSE
* external/libpng/pngrutil.c
* external/libpng/pngwutil.c
* external/libpng/pngread.c
* external/libpng/pngmem.c
* external/libpng/pngget.c
* external/libpng/png.c
* external/libpng/png.h
* external/libpng/pngpriv.h
* external/libpng/pngrtran.c
+ Updated to 1.4.1 (from 1.4.0)
* contrib/rddsql/sddoci/sddoci.c
! Fixed OCILIB initalization to make OCI_GetLastError() work.
(Thanks to OCILIB author Vincent Rogier for the report
and fix)
* src/rtl/gtwin/gtwin.c
% Simplified the way close button status is retrieved (based
on code posted Saulius Zrelskis)
+ Added code to disable 'close' menu also. This is using
undocumented Windows API call, so by default the logic
is disabled, and can be enabled with HB_GTWIN_UNDOC_WINAPI
macro. (Thanks to Saulius Zrelskis for this API tip)
(NOTE: All 'close' controls are controlled by HB_GTI_CLOSABLE)
* contrib/rddsql/sddodbc/sddodbc.c
+ Added support to return any size of string buffer from ODBC.
! Fixed typo in prev modification.
* src/rtl/gtwvt/gtwvt.c
! Reverted close/SETCANCEL/HB_GTI_CLOSABLE behavior to
match the old one and that of other GTs.
Also see:
2008-06-25 11:49 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
Please use HB_GTI_CLOSABLE and HB_GTI_NOTIFIERBLOCK
to control GUI window close behavior.
* contrib/rddsql/sddsqlt3/sddsqlt3.c
+ Added support to retrieve buffers in UNICODE mode.
; Maybe needs fine tuning. F.e. we don't want to do this
for raw/binary/blob data. Pls review.
; NOTE: Detecting real buffer size is weird. MSDN says
NULL should be passed to data pointer, but in this
case it returns error, if I pass any pointer, even
fake one, it works. Pbly I'm misreading something.
* contrib/rddsql/sddodbc/tests/test1.prg
* contrib/rddsql/sddodbc/tests/test2.prg
+ Added simpleio.ch.
* contrib/rddsql/sddsqlt3/sddsqlt3.c
* contrib/rddsql/sddodbc/sddodbc.c
* contrib/rddsql/sddoci/sddoci.c
! Fixed bad GPF after previous modif which limited field names
to specific length.
* include/hbsetup.h
* Bumped pcode version to 3 (mininum kept at 2)
* contrib/rddsql/sddodbc/sddodbc.c
! Fixed missing UNICODE conversion for field names.
* contrib/rddsql/sddoci/sddoci.c
* contrib/rddsql/sddsqlt3/sddsqlt3.c
! Fixed to limit field length to the one supported by RDD engine.
* contrib/rddsql/sddoci/sddoci.c
! Fixed handling of numeric types widths and decimals.
; This marks last known TODO/TOFIX as DONE.
* src/vm/extrap.c
+ Minor
* contrib/hbodbc/odbc.c
* contrib/rddsql/sddodbc/sddodbc.c
! Silenced warnings.
* contrib/rddsql/sddoci/sddoci.c
* contrib/rddsql/sddoci/tests/test1.prg
+ Finished type mapping and value translation.
; Not being an Oracle user, I only have the few sample
tables, so no testing was made with these types.
; TOFIX: decimal position retrieval is currently wrong.
; TOFIX: date/time/timestamp doesn't seem to get through.
* config/win/global.mk
* config/rules.mk
* Moved HB_BUILD_UNICODE handling here for win platform,
to allow disabling it for potential 3rd party libs which
don't support UNICODE mode.
* src/common/hbffind.c
* Formatting.
* contrib/hbodbc/odbc.c
* contrib/rddsql/sddodbc/sddodbc.c
+ Added support for UNICODE mode on non-Windows systems.
This also means that by now HB_TCHAR_* macros aren't used
in non-win/wce code anymore.
NOTE: Since the translation functions have been changed,
now _SET_OSCODEPAGE setting are honored in these
calls. We may change this later to some lib specific cp.
; TOFIX: Warnings are showing up in non-UNICODE mode:
odbc.c:438: warning: pointer targets in passing argument 2 of 'hb_storstr' differ in signedness
Couldn't find an optimal way to pacify them (also in sddodbc).
Can someone help?
* include/hbdefs.h
+ HB_TCHAR_* macros are again only defined for win/wce targets.
This will make sure these won't get used in non-win/wce specific code.
* contrib/hbmysql/tmysql.prg
! Fixed old buggy code which started to throw errors
after introducing strict parameter evaluation in
lower-level code.
For now I replaced the code with old behavior.
Pls make further to replicate original _intent_.
* contrib/rddsql/sddoci/sddoci.c
+ Changed to use STR API for UNICODE conversions. This fixes
this SDD for non-win systems.
! Fixed one missing encoding translation.
* contrib/rddsql/sddoci/ocidd.c
* Commented trace call.
* contrib/rddsql/sddoci/Makefile
+ Added tweak to link with implibs of ever-problematic bcc
compiler.
* INSTALL
* bin/hb-mkimp.bat
+ contrib/rddsql/sddoci
+ contrib/rddsql/sddoci/Makefile
+ contrib/rddsql/sddoci/ocidd.c
+ contrib/rddsql/sddoci/sddoci.hbc
+ contrib/rddsql/sddoci/tests
+ contrib/rddsql/sddoci/tests/hbmk.hbm
+ contrib/rddsql/sddoci/tests/test1.prg
* contrib/rddsql/Makefile
+ Added support for direct connection to Oracle
databases via OCILIB library.
UNICODE, ANSI (default) and MIXED modes are supported.
For mingw targets, the library will be linked
statically, for the rest dynamically.
You need to have Oracle client (oci.dll and the
rest of the package) installed to use it.
; TODO: Finish type conversion and mapping.
* contrib/rddsql/sddmy/mysqldd.c
* contrib/rddsql/sddpg/pgsqldd.c
* contrib/rddsql/sddfb/fbirddd.c
* contrib/rddsql/sddodbc/odbcdd.c
! HB_ULONG -> HB_SIZE
; TOFIX: To Mindaugas: Current SDD architecture will crash with GPF
if dbUseArea() is attempted after a failed RDDI_CONNECT
call. You can check it f.e. with sddodbc's test1.prg, by
modifying test.mdb to test_.mdb, and simply run it.
* contrib/hbmysql/hbmysql.hbc
* contrib/hbpgsql/hbpgsql.hbc
* contrib/rddsql/sddmy/sddmy.hbc
* contrib/rddsql/sddpg/sddpg.hbc
* Adjusted 3rd party lib names to work out-of-the-box on
*nix platforms.
* harbour/contrib/rddsql/hbrddsql.h
* harbour/contrib/rddsql/sqlbase.c
! reverted recent modification which forces updating also low level
SDD code
! fixed casting in C++ mode with local only modification
* harbour/src/rdd/wafunc.c
* harbour/contrib/rddsql/hbrddsql.h
* harbour/contrib/rddsql/sqlbase.c
! casting fod C++ builds
* harbour/contrib/hbcairo/paths.c
! fixed very bad typo which probably cause GPF in function
CAIRO_GET_CURRENT_POINT()