* 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
* harbour/harbour-ce-spec
* harbour/harbour-w32-spec
* harbour/harbour.spec
! set 0 as package release number - the release signature is necessary
in RPM format and cannot be removed
* harbour/source/rtl/mlcfunc.c
! skip SOFTCR when it's on the end of extracted line.
; NOTE: MPOSTOLC() is not exactly CA-Cl*pper compatible
The returned value is intentionally updated to be
MLCTOPOS() so conversions are revertable. For me
it's a bug in CA-Cl*pper.
* contrib/make_b32_all.bat
* contrib/make_vc_all.bat
* contrib/make_gcc_all.sh
* Disabled following contribs, to be in sync with the default
GNU-make setup:
hbsqlit2 - Too many warnings in unsupported foreign code. Replacement: hbsqlit3
hbw32ddr - C++, not maintained, incomplete, warnings.
hbwhat32 - Problems and warnings, non 64 bit compatible.
hbziparch - C++, foreign code not well portable, interface
code not Harbour quality. Replacement: hbmzip
; NOTE: We should consider what to do with these contribs.
* harbour/source/rtl/tget.prg
! fixed translation comma/dot translation for pictures with "@E"
Viktor, please test it - I'm not very familiar with GET code
and it's possible that I made sth wrong
* harbour/contrib/hbmzip/zip.c
! fixed access to uninitialized member of z_stream by simple
initialization. Anyhow it's minor bug in MINIZIP code exploited
HB_ZipDeleteFile() which causes that TEXT flag is not set after
raw binary file updating. There is also no API call to make it
manually.
* harbour/contrib/hbmzip/hbmzip.c
* harbour/contrib/hbmzip/readme.txt
+ added HB_ZipDeleteFile( cZipFile, cFileMask ) --> nError
* harbour/common.mak
* harbour/source/rtl/Makefile
+ harbour/source/rtl/dirscan.prg
+ added HB_DirScan( cPath, cFileMask, cAttr )
* harbour/source/rtl/strmatch.c
+ added HB_FileMatch( cFile, cPattern )
* harbour/include/hbextern.ch
+ added HB_DirScan(), HB_FileMatch()
* harbour/contrib/xhb/dirrec.prg
* changed to use HB_DirScan()