* harbour/include/hbdefs.h
! fixed default printf length modifier for long long integer values
* harbour/harbour.spec
* harbour/harbour-ce-spec
* harbour/harbour-w32-spec
! fixed for new FM library name
* contrib/gtwvg/gtwvg.c
* contrib/gtwvg/wvgutils.c
* contrib/gtwvg/wvgcore.c
! Fixed 64 bit (MSVS 2008 64 bit and Pelles C 5 64 bit) related
problems shown as warnings.
; Please review and test, especially WinCE and older MSVC builds.
; NOTE: There are many other 64 bit related problems not
shown as compiler warnings.
* source/hbzlib/zconf.h
* Undone previous ZLIB_DLL related change, as it causes these
warnings, when compiled with MSVS:
hbzlib.obj : warning LNK4217: locally defined symbol _inflateEnd imported in function _hb_zlibUncompressedSize
hbzlib.obj : warning LNK4217: locally defined symbol _inflate imported in function _hb_zlibUncompressedSize
hbzlib.obj : warning LNK4217: locally defined symbol _inflateInit_ imported in function _hb_zlibUncompressedSize
hbzlib.obj : warning LNK4217: locally defined symbol _zlibVersion imported in function _HB_FUN_HB_ZLIBVERSION
hbzlib.obj : warning LNK4217: locally defined symbol _compressBound imported in function _HB_FUN_HB_COMPRESSBOUND
hbzlib.obj : warning LNK4217: locally defined symbol _compress imported in function _HB_FUN_HB_COMPRESS
hbzlib.obj : warning LNK4217: locally defined symbol _compress2 imported in function _HB_FUN_HB_COMPRESS
hbzlib.obj : warning LNK4217: locally defined symbol _uncompress imported in function _HB_FUN_HB_UNCOMPRESS
hbzlib.obj : warning LNK4217: locally defined symbol _gzclose imported in function _hb_gz_Destructor
hbzlib.obj : warning LNK4217: locally defined symbol _gzopen imported in function _HB_FUN_HB_GZOPEN
hbzlib.obj : warning LNK4217: locally defined symbol _gzdopen imported in function _HB_FUN_HB_GZDOPEN
hbzlib.obj : warning LNK4217: locally defined symbol _gzsetparams imported in function _HB_FUN_HB_GZSETPARAMS
hbzlib.obj : warning LNK4217: locally defined symbol _gzread imported in function _HB_FUN_HB_GZREAD
hbzlib.obj : warning LNK4217: locally defined symbol _gzwrite imported in function _HB_FUN_HB_GZWRITE
hbzlib.obj : warning LNK4217: locally defined symbol _gzgets imported in function _HB_FUN_HB_GZGETS
hbzlib.obj : warning LNK4217: locally defined symbol _gzputs imported in function _HB_FUN_HB_GZPUTS
hbzlib.obj : warning LNK4217: locally defined symbol _gzgetc imported in function _HB_FUN_HB_GZGETC
hbzlib.obj : warning LNK4217: locally defined symbol _gzungetc imported in function _HB_FUN_HB_GZUNGETC
hbzlib.obj : warning LNK4217: locally defined symbol _gzflush imported in function _HB_FUN_HB_GZFLUSH
hbzlib.obj : warning LNK4217: locally defined symbol _gzseek imported in function _HB_FUN_HB_GZSEEK
hbzlib.obj : warning LNK4217: locally defined symbol _gzrewind imported in function _HB_FUN_HB_GZREWIND
hbzlib.obj : warning LNK4217: locally defined symbol _gztell imported in function _HB_FUN_HB_GZTELL
hbzlib.obj : warning LNK4217: locally defined symbol _gzeof imported in function _HB_FUN_HB_GZEOF
hbzlib.obj : warning LNK4217: locally defined symbol _gzdirect imported in function _HB_FUN_HB_GZDIRECT
hbzlib.obj : warning LNK4217: locally defined symbol _gzerror imported in function _HB_FUN_HB_GZERROR
hbzlib.obj : warning LNK4217: locally defined symbol _gzclearerr imported in function _HB_FUN_HB_GZCLEARERR
* source/compiler/hbusage.c
+ Updated credit list based on contributors
committing ChangeLog entries.
If anyone has someone to recommend to add to the list,
please do this on the devl-list.
* source/compiler/hbusage.c
* source/compiler/cmdcheck.c
+ -k? switches made case-insensitive.
* contrib/hbapollo/Makefile
* contrib/hbapollo/apollo.c
! Fixed include dir detection to honor file casing, to
make it compatible with MinGW + bash.
Could someone with Apollo for Linux check whether it uses
'Sde61.h' or 'sde61.h' as the header name?
! Fixed to #include "Sde61.h" instead of "sde61.h"
* harbour/bin/hb-func.sh
* updated to create harbour.dll in HB_BIN_INSTALL instead of
HB_LIB_INSTALL
* added to library paths in hb* scripts HB_BIN_INSTALL directory
for shared linking when harbour shared library does not exist
in HB_LIB_INSTALL but it's present in HB_BIN_INSTALL
* harbour/bin/hb-func.sh
* harbour/source/vm/hvm.c
* harbour/source/rtl/hbgtcore.c
* added const to s_defaultGT and s_pszLinkedMain declarations
* make s_pszLinkedMain visible and functional for platforms
which does not use HARBOUR_START_PROCEDURE
* harbour/source/vm/extrap.c
+ added exception trap for SIGSEGV, SIGILL, SIGFPE and SIGBUS
for *nixes which support sigaltstack()
* harbour/include/hbwmain.c
* harbour/source/vm/mainwin.c
* use of WinMain() from hbwmain.c
* harbour/source/pp/pplib.c
* ignore all #pragma directives setting compiler switches instead
of generating RT error when user uses PP in .prg code by __PP_*()
functions
* harbour/source/Makefile
+ harbour/source/hbextern
+ harbour/source/hbextern/hbextern.prg
+ harbour/source/hbextern/Makefile
* harbour/common.mak
* harbour/make_b32.mak
* harbour/make_gcc.mak
* harbour/make_vc.mak
* harbour/make_vcce.mak
* harbour/bin/hb-func.sh
+ added hbextern library
+ added hbextern to harbour shared library. Now all functions
are registered and visible for dynamically linked applications
not only .prg ones and .c functions explicitly bound with some
.prg code
* harbour/utils/hbrun/Makefile
* harbour/utils/hbrun/hbrun.prg
* use hbextern library instead of #include "hbextern.ch"
It has no noticeable effect on static builds but greatly
reduce the size of dynamic builds, f.e. current hbrun
linked dynamically in my Linux box has 12KB.
* source/hbpcre/_hbconf.h
* source/hbzlib/zconf.h
* source/hbzlib/ChangeLog
! Fixed to pass down Harbour DLL creation flag to
integrated 3rd party sources.
After this, pcre and zlib public symbols should be
properly exported on Windows platform.
; NOTE: Harbour uses __EXPORT__ to signal DLL creation,
which is not very ideal, so I'd suggest to
switch to HB_DLL in future versions.
* contrib/examples/pp/bld_b32.bat
* contrib/examples/pp/bld_vc.bat
* contrib/examples/guestbk/bld_b32.bat
* contrib/examples/guestbk/bld_vc.bat
* contrib/examples/pe/bld_b32.bat
* contrib/examples/pe/bld_vc.bat
* contrib/examples/dbu/bld_b32.bat
* contrib/examples/dbu/bld_vc.bat
* contrib/examples/hscript/bld_b32.bat
* contrib/examples/hscript/bld_vc.bat
* utils/hbdoc/bld_vc.bat
* utils/hbdoc/bld_b32.bat
* utils/hbmake/bld_vc.bat
* utils/hbmake/bld_b32.bat
+ Cleaning .c and .obj files after the build process.
! This is needed to not interfere with the GNU-make system,
which would pickup and try to compiler those temp .c files.
* harbour/bin/postinst.sh
* added workaround for wrongly detected harbour root path in some
environments
* harbour/source/vm/extrap.c
* minor modification
* harbour-ce-spec
* harbour-w32-spec
* harbour.spec
* common.mak
* make_b32.mak
* make_gcc.mak
* make_vc.mak
* make_vcce.mak
* make_tgz.sh
* debian/rules
- doc/man/hbdot.1
* doc/man/hbrun.1
- utils/hbdot
* utils/hbrun/Makefile
* utils/hbrun/hbrun.prg
- utils/hbrun/external.prg
* Replaced hbrun functionality with hbdot's.
- Removed separate hbdot tool.
* contrib/hbsqlit3/sqlite3/sqlite3.c
* contrib/hbsqlit3/make_vc.bat
! Fixed bug in foreign code (sqlite3.c) to compile in
MSVC C++ mode. (HANDLE -> HMODULE)
* C++ mode is no longer forced in non-GNU MSVC builds,
this way also avoiding a screen warning.
* contrib/examples/dbu/bld_b32.bat
* contrib/examples/dbu/bld_vc.bat
! Fixed to call 'patch' with '-N' so that it doesn't
ask to reverse patches when run multiple times.
+ utils/hbdoc/bld_b32.bat
+ utils/hbdoc/bld_vc.bat
+ Added non-GNU make batch files to build hbmake.
; This is a step towards detaching hbdoc from core.
* utils/hbdoc/hbdocdef.ch
! Fixed equality operators to be SET EXACT independent.
; Minor formatting.
* harbour/utils/hbdot/hbdot.prg
* removed holder class for HRB modules - it's not longer necessary
because we have automatic destructors for .hrb modules
* updated usage message for .hrb files
* minor modifications
* harbour/doc/man/hbdot.1
* updated man page for recent modifications
* harbour/contrib/rddads/adsfunc.c
! fixed possibly unclosed AdsCloseSQLStatement()
* harbour/contrib/rddads/ads1.c
* minor cleanup and protection against possible strange results
caused by indexes without tags
* harbour/source/rtl/hbinet.c
! added protection against using wrong handles
! fixed possible resource leak (unclosed handle) when open handle is
passed to HB_INETCONNECT[IP]()
* harbour/source/rtl/filesys.c
* cleaned warnings
* include/hbdefs.h
! Fixed 4 remaining warnings in BCC 5.8.2 builds.
Many thanks to Przemek for the patch.
NOTE: Now BCC58 core is warning-free and there are
two warnings in its own header files, exploited
by contrib hbcurl/libcurl.
* harbour/common.mak
* harbour/source/compiler/Makefile
* harbour/source/compiler/cmdcheck.c
* harbour/source/compiler/hbmain.c
* harbour/source/compiler/hbusage.c
* disabled support for unfinished -gw compiler switch in
default builds. It can be enabled by developers who will
want to work on this code by recompiling Harbour with
HB_GEN_W32_OBJ macro (f.e. by setting it in C_USR envvar)
* harbour/source/debug/dbgentry.c
! fixed some possible memory leaks or GPFs when wrong parameters
are passed to debug functions
* moved module name conversions (path stripping) into one place
so in the future it will be easier to add automatic path detection
* make_b32.mak
* make_gcc.mak
* make_vc.mak
* make_vcce.mak
! Fixed to delete hbverbld.h from include dir on 'clean'.
! Using INCLUDE_DIR instead of some hard-wired 'include'
dir references.
* harbour/source/pp/ppcore.c
* cleaned warning
* harbour/source/rtl/set.c
* do not attach ".prn" extension to known device names also
in DOS and Windows builds
* recognize "CON" as device name in DOS, Win and OS2 builds
* source/debug/debugger.prg
! Avoided __PLATFORM__* macros in core code by using
hb_FileMatch() instead of some local logic to make
filename comparisons portable.
Someone please check me if this is right.
* source/pp/ppcore.c
* doc/whatsnew.txt
! __PLATFORM__* macros now all #defined in full uppercase.
F.e.:
__PLATFORM__Windows becomes __PLATFORM_WINDOWS
__PLATFORM__Linux becomes __PLATFORM__LINUX
INCOMPATIBLE.
* contrib/xhb/hbcompat.ch
+ Added compatibility #defines for __PLATFORM__* macros.
* include/hbdefs.h
! Minor formatting.
* harbour-ce-spec
* harbour-w32-spec
* make_xmingw.sh
* make_xmingwce.sh
* source/debug/debugger.prg
* contrib/hbtpathy/telepath.prg
* contrib/hbw32/w32_tole.prg
* contrib/hbw32/w32_tprn.prg
* utils/hbdot/hbdot.prg
* utils/hbmake/hbmake.prg
* Changed __PLATFORM__* #define according to latest changes.
; NOTE: I find this kind of compile-time platform dependency
quite wrong in an normal application, and we should
definitely avoid it in core Harbour.
In core Harbour there is one place where it would
better be eliminated, and in order to do this, we'd
need to have a filename equality comparison FS
function. Maybe we already have one, I don't know.
* include/hbdefs.h
! Patch added to workaround following phoney warnings
when using BCC 5.8 compiler (tested with 5.8.2):
Warning W8017 C:\devl\BCC58\Include\stdint.h 77: Redefinition of 'INT16_MIN' is not identical
Warning W8017 C:\devl\BCC58\Include\stdint.h 78: Redefinition of 'INT32_MIN' is not identical
Warning W8017 C:\devl\BCC58\Include\stdint.h 79: Redefinition of 'INT64_MIN' is not identical
Warning W8017 C:\devl\BCC58\Include\stdint.h 82: Redefinition of 'INT16_MAX' is not identical
Warning W8017 C:\devl\BCC58\Include\stdint.h 83: Redefinition of 'INT32_MAX' is not identical
Warning W8017 C:\devl\BCC58\Include\stdint.h 84: Redefinition of 'INT64_MAX' is not identical
Warning W8017 C:\devl\BCC58\Include\stdint.h 87: Redefinition of 'UINT16_MAX' is not identical
Warning W8017 C:\devl\BCC58\Include\stdint.h 88: Redefinition of 'UINT32_MAX' is not identical
Warning W8017 C:\devl\BCC58\Include\stdint.h 89: Redefinition of 'UINT64_MAX' is not identical
Many thanks to Przemek for this patch.
* include/hbextern.ch
+ EXTERNAL __OBJGETPROPERTIES
* doc/whatsnew.txt
+ Updated with new functions.
* source/hbpcre/_hbconf.h
! Silenced a #pragma warning for MSVC 12.x.
; NOTE: Some notable MSVC 12.x warnings in Harbour code:
source\rdd\hbsix\sxcompr.c(532) : warning C4244: '=' : conversion from 'long ' to 'short ', possible loss of data
source\rdd\hbsix\sxcompr.c(533) : warning C4244: '=' : conversion from 'long ' to 'short ', possible loss of data
source\rdd\hbsix\sxcompr.c(539) : warning C4244: '=' : conversion from 'long ' to 'short ', possible loss of data
source\rdd\hbsix\sxcompr.c(540) : warning C4244: '=' : conversion from 'long ' to 'short ', possible loss of data
There are 3 more known warnings, the rest is common integer difference warning.
* harbour/source/vm/classes.c
+ adding 2-nd parameter to __clsGetProperties()
When it's TRUE then __clsGetProperties() returns also exported
messages which have corresponding assign messages (with "_" prefix)
* harbour/source/rtl/objfunc.prg
+ added __objGetProperties( oObject, [ lAllExported = .F. ] ) ->
aMsgAndValues
This function returns list of PROPERTY message with their values,
when 2-nd parameter is true it also returns exported messages which
which have corresponding assign messages (with "_" prefix)
This function is designed to use in object inspectors.
* harbour/contrib/hbmzip/hbmzip.c
* harbour/contrib/hbmzip/readme.txt
* changed parameters of HB_UnzipFileInfo()
Now in 10-th parameter is @lCrypted and 11-th is @cComment
* harbour/contrib/hbmzip/tests/myunzip.prg
+ show archive and file comment
+ show encrypted files ('*' after file name)
* harbour/contrib/hbmzip/zip.c
! set valid ZIP signature in header file (2.0)
* harbour/contrib/hbmzip/hbmzip.c
! fixed ZIP encryption header by adding CRC32 checksum
Now other tools should properly recognize password encrypted
archives created by HBMZIP library. Please test.
! changed parameters of HB_ZipFileCreate() function to pass CRC32
for password encrypted files:
HB_ZipFileCreate( hZip, cZipName, dDate, cTime,
nInternalAttr, nExternalAttr,
[ nMethod = HB_ZLIB_METHOD_DEFLATE ],
[ nLevel = HB_ZLIB_COMPRESSION_DEFAULT ],
[ cPassword, ulFileCRC32 ], [ cComment ] ) ->
nError
+ added new function to calculate CRC32 value from file body:
HB_zipFileCRC32( cFileName ) -> nError
+ added translation for file attributes when DOS archive is
decompressed in *nix environment
* harbour/contrib/hbmzip/readme.txt
* updated list of Harbour [UN]ZIP functions and parameters