* harbour/source/common/hbwince.c
* formatting
* harbour/contrib/hbcurl/hbcurl.c
+ use hash table to keep strings passed to CURL library accessible
even if HVM destroys them. It should allow to safely use HBCURL
wrapper also with CURL library older then 7.17.0 though it can
be a little bit expensive in some cases. The allocated strings
are freed when CURL pointer is destroyed (directly or by
CURL_EASY_CLEANUP()) or reset by CURL_EASY_RESET().
This feature is enabled only when compiled for CURL libraries
older then 7.17.0 or when user set explicitly compile time macro
HB_CURL_HASH_STRINGS
Viktor, you are more familiar with this code so please check it.
* harbour/contrib/hbmzip/zip.c
* set OS version information in ZIP header when ZIP archive is
created by *nix Harbour build. It's necessary to inform some
zip packages (f.e. infozip/unzip) that they should respect POSIX
file permission during decompression.
* harbour/contrib/hbmzip/hbmzip.c
! fixed storing/setting file date, time and attributes in *nixes
* harbour/include/hbapifs.h
* harbour/source/rtl/hbffind.c
* harbour/source/rtl/filesys.c
! replaced hack with direct bit conversion in *nixes attributes
by bit testing
* harbour/source/rtl/gtwvt/gtwvt.c
* disabled SetWindowLongPtr() in 32bit MSVC WinCE builds
* harbour/source/rtl/hbffind.c
* minor cleanup.
* harbour/source/rtl/filesys.c
+ implemented hb_fsGetAttr() and hb_fsGetFileTime() for DOS, MS-Win,
OS2 and *nixes. Please test it on different platforms.
* include/hbapifs.h
* source/rtl/filesys.c
+ Added skeletons for hb_fsGetAttr() and hb_fsGetFileTime()
TODO: Implementation.
* contrib/hbclipsm/common.mak
* contrib/hbclipsm/Makefile
- contrib/hbclipsm/dbf.c
! Removed duplicate implementation of DBF() from hbclipsm.lib
; TOFIX:
I'm getting these new warnings under BCC55:
Warning W8080 source\rtl\filesys.c 2718: '_fstat(int,_stat *)' is declared but never used
Warning W8080 source\rtl\filesys.c 2718: '_disable()' is declared but never used
Warning W8080 source\rtl\filesys.c 2718: '_enable()' is declared but never used
Warning W8080 source\rtl\fssize.c 142: '_fstat(int,_stat *)' is declared but never used
* harbour/source/rtl/gtwvt/gtwvt.h
* added some definitions which seems to be missing in some MSVC-WinCE
versions
* harbour/source/rtl/gtwvt/gtwvt.c
* cleaned SetWindowLongPtr()/SetWindowLong() usage so now all calls
are protected by the same #if condition
* harbour/ChangeLog
* harbour/contrib/hbtip/ChangeLog
* replaced TABs with SPACEs
* harbour/source/compiler/genobj32.c
! fixed memory leak
TODO: disable this module in default builds until it will not
be fixed to generate valid OMF .obj files
* harbour/contrib/hbw32/dllcall.c
* minor cleanup in return values
* harbour/contrib/hbole/ole2.c
* cleaned casting in UNICODE conversions
* harbour/source/common/expropt2.c
* replicate CA-Cl*pper compile time optimization bugs:
"" $ <literString> => .T.
AT( "", <literString> ) => 1
CHR( 256 ) => ""
only when Harbour extensions (-kh) are not enabled, f.e.
in strict Clipper compatibility mode (-kc)
* harbour/utils/hbtest/rt_hvma.prg
* harbour/utils/hbtest/rt_str.prg
* updated to test Clipper and Harbour compile time modes in
the above situations
* harbour/common.mak
* harbour/source/rtl/Makefile
- harbour/source/rtl/strings.c
* harbour/source/common/hbstr.c
* moved hb_strEmpty() from RTL to COMMON library
* harbour/include/hbexprb.c
* harbour/include/hbexprop.h
* harbour/source/common/expropt2.c
+ added compile time optimization for EMPTY() function
; removed 'TODO: empty optimization' note
* harbour/source/rtl/itemseri.c
% compress trailing spaces during string item serialization
* harbour/include/hbapi.h
* harbour/source/vm/hashes.c
+ added hb_hashAddNew() - works like hb_hashAdd() but it adds item
only if new key is used
* harbour/source/vm/hvm.c
* use hb_hashAddNew() instead of hb_hashAdd() for HB_P_HASHGEN
I cannot revert the order of hash item during compilation because
it will also change the order of user expression evaluation.
* harbour/contrib/hbmysql/Makefile
* harbour/contrib/hbodbc/Makefile
* harbour/contrib/hbsqlit3/Makefile
* harbour/contrib/hbfbird/Makefile
* harbour/contrib/hbcurl/Makefile
* harbour/contrib/hbhpdf/Makefile
* harbour/contrib/hbpgsql/Makefile
* harbour/contrib/hbfimage/Makefile
* harbour/contrib/hbgd/Makefile
* harbour/contrib/hbgf/hbgfgtk/Makefile
* do not add default system include directory to C_USR during testing
for foreign header files when HB_XBUILD variable is set - protection
against including wrong header files in cross builds
* harbour/contrib/hbtpathy/ChangeLog
* changed SVN EOL style to 'native'
* harbour/contrib/hbbmcdx/bmdbfcdx.c
* pacified warning
* harbour/include/dbedit.ch
* harbour/source/rtl/dbedit.prg
+ added support for undocumented Clipper DE_APPEND mode - code
covered by HB_C52_UNDOC
% ignore K_MOUSEMOVE events to avoid flickering just like CA-Cl*pper
does
+ added support for cell positioning with mouse left key - CL53
compatible behavior covered by HB_COMPAT_C53 macro
* changed static function name dbEditCallUser() to CallUser() for
strict Clipper compatibility - some user function code may check
PROCNAME()
* some minor optimizations and fixes
* harbour/contrib/hbmzip/hbmzip.c
* indenting
* harbour/source/vm/hvm.c
* formatting
* contrib/hbbmcdx/bmdbfcdx.c
* contrib/hbbmcdx/hbbmcdx.h
! fixed casting for indexes with key length greater then 196 bytes
created on tables with record number smaller then 256. In such
case if keys have equal value then after decoding they may need
more then 32767 bytes and casting to SHORT gives negative indexes.
Thanks to Saulius Zrelskis for example.
% changed some SHORT to INT to reduce runtime overhead
* contrib/hbziparch/hbziparc.c
! fixed some unused variables.
* minor sintax corrections.
* harbour/include/hbwince.h
* harbour/source/common/hbwince.c
+ added SetFileAttributesA() for WinCE builds
* harbour/source/rtl/filesys.c
* replaced UNICODE translations for SetFileAttributes()
with direct call to SetFileAttributesA()
* harbour/include/hbapifs.h
* harbour/source/rtl/spfiles.c
* harbour/source/rtl/fstemp.c
* harbour/source/rtl/hbffind.c
* harbour/source/rtl/direct.c
* harbour/source/rtl/filesys.c
* changed internal representation for file attributes from USHORT
to ULONG
+ added support for POSIX permission attributes in .c code
; added some comments about used attribute translations which
should be cleand
* harbour/source/rtl/set.c
! do not add .prn extension to printer/extra filenames if file name
is one of well known device name: PRN, LPT[1-3], COM[1-9]
This code is enabled only for OS2 builds where it's necessary
but maybe MS-Windows/DOS users should think about adding it to
their builds too because sometimes also DOS/Win does not recognize
correctly device name when it has extension.
* harbour/include/hbdate.h
* harbour/source/common/hbdate.c
+ added hb_timeStampEncode()
* harbour/include/hbapifs.h
* harbour/source/rtl/filesys.c
+ added hb_fsSetFileTime()
+ added POSIX file attributes with some macros to convert Harbour
definitions into OS ones.
+ added initial version of hb_fsSetAttr() - work in progress, I should
finish it in the evening.
* harbour/contrib/hbmzip/hbmzip.c
* added setting file attribute in DJGPP builds
! fixed some small typos in OS2 builds reported by David
* harbour/source/vm/fm.c
* changed hb_xrealloc() to be ANSI-C realloc() compatible
* source/rtl/gtwvt/gtwvt.c
* contrib/gtwvg/gtwvg.c
! Restored previous change.
In Harbour, passing NULL to hb_itemPutC() is valid and
will result in an empty string being stored in an optimized way.
hb_itemPutCLPtr() should be used instead of hb_itemPutCPtr().
The GPF in question used to happen when setting the clipboard,
and it looks to happen inside the OS. I'm still investigating.
* contrib/hbapollo/tests/bld_b32.bat
* contrib/hbapollo/tests/bld_vc.bat
! Fixed external .lib name.
* contrib/hbcurl/hbcurl.c
! CURL_EASY_GETINFO() will now return the proper type
(with an empty value) if the given info type is not
supported in the libcurl version used at build-time.
(This makes the test program not crash after latest
hbcurl changes.)
* harbour/include/hbrddcdx.h
* harbour/source/rdd/dbfcdx/dbfcdx1.c
! fixed casting for indexes with key length greater then 196 bytes
created on tables with record number smaller then 256. In such
case if keys have equal value then after decoding they may need
more then 32767 bytes and casting to SHORT gives negative indexes.
Thanks to Saulius Zrelskis for example.
% changed some SHORT to INT to reduce runtime overhead
* contrib/hbodbc/odbc.c
! Fixed compilation error with Pelles C 5.00.1.
* Some formatting.
* contrib/hbw32/dllcall.c
+ Two TOFIXes added for Win64 support.
! One Warning fixed under Win64.
* contrib/hbfimage/make_gcc.sh
* contrib/hbfimage/make_b32.bat
* contrib/hbfimage/make_vc.bat
! Corrected to look in Dist subdir instead of 'source',
so that simple .dll ditribution is enough to compile.
* contrib/hbodbc/odbc.c
! Fixed all ODBC handles to be pointers. This way it's Win64
compatible. This is an INCOMPATIBLE change. Since normal
app code is using ODBC error values to check for error
conditions, the type of handles shouldn't be a concern for
most app code.
I'd ask everyone using hbodbc to do some tests.
+ TOFIXes added where deprecated (and potentially dangerous)
APIs are used.
* contrib/hbw32/dllcall.c
! Using hb_parnint()/hb_retnint() instead of hb_parnl()/hb_retnl()
to make Harbour level .dll functions compatible with Win64, and
at the same time stay compatible with XBase++.
* contrib/rddado/adordd.prg
! Fixed a few places where _SET_EXACT dependent string
comparisons were used. One of them could cause
problems updating field values.
* contrib/hbodbc/todbc.prg
* Formatting.
* contrib/hbodbc/tests/odbcdemo.prg
* contrib/hbodbc/tests/odbccall.prg
* contrib/hbodbc/tests/testodbc.prg
! Made them work out of the box.
; TOFIX: All of them gives "unrecognized database format" for harbour.mdb.
* harbour/source/vm/runner.c
+ added support for passing non string parameters to .HRB INIT/<main>
procedures/function
+ added automatic destructors for .HRB modules
; TOFIX: add protection against possible double executing of
EXIT procedures in .HRB modules in HVM quit phase
* source/compiler/genhrb.c
* contrib/hbtip/utils.c
! Changed octal values in strings (and chars too) to make
these functions work with Pelles C 5.00.1.