* contrib/hblzf/hblzf.c
% Removed unnecessary casts readded in last commit.
hb_parns() returns HB_SIZE, so casting it to '( HB_SIZE )'
adds nothing.
* contrib/hbsqlit3/hbsqlit3.c
* Reformatted to Harbour standard using uncrustify tool.
* contrib/hblzf/hblzf.c
! Fixed the algorithm used in HB_LZF_COMPRESSBOUND(), HB_LZF_COMPRESS()
+ contrib/hblzf/tests/test2.prg
+ added yet another simple test for HB_LZF_[DE]COMPRESS()
* src/rtl/gtwin/gtwin.c
+ Attempt to enable HB_GTI_PALETTER support for MSVC 2005/2008
combined with Longhorn SDK. (also reverted prev change)
Please retest in above environments, plus old MSVC and
BCC 5.9.
* config/hbc.cfg
+ More tweaks to make it Harbour-ready.
* src/rtl/gtwin/gtwin.c
! Disabled HB_GTI_PALETTE support for MSVC 2005/2008
versions combined with certain (older) SDK versions.
The symptom is missing NDDI_* detection support, yet
present CONSOLE_SCREEN_BUFFER_INFOEX structure.
(Most pbly SDK 6.x. SDK 7.0a is fine)
Thanks to Andi for the tests.
* config/hbc.cfg
+ Few tweaks to make it more Harbour compliant.
F.e. for hblzf.c it now generated perfect result.
* contrib/hblzf/hblzf.c
* contrib/hblzf/tests/test.prg
! Added missing EOL at EOF.
! Restored my formatting fixes from previous commits.
! Refixed wrong formatting. (for the ~5th time)
- Deleted synonym added in previous commit.
I suggest to write a few words of reasoning for
changes not having obviously apparent reason.
It's brand new lib, so we should decide about _one_
(the best) initial name and stick to it. Let's use
synonyms if we later find out that we did some
mistakes in the past, or other special occasion.
* src/rtl/gtwin/gtwin.c
+ Added HB_GTI_PALETTE support to GTWIN for all non-msvc
compilers.
(solution is hackish so it may need revision as future
non-msvc, non-watcom compiler versions implement this
feature in their own WinAPI headers.
* INSTALL
+ Minor detail to HB_BUILD_WINUNI. Moved it's position towards
end of option list.
+ Added some clarification to HB_BUILD_CONTRIB=no <...>
option.
* contrib/hbqt/hbqt_hbmk2_plugin.hbs
+ Added extra error message when .uic file is empty or
unreadable.
* config/global.mk
* config/rules.mk
* contrib/hbpost.hbm
* INSTALL
+ Renamed HB_BUILD_UNICODE to HB_BUILD_WINUNI.
Reasons many-fold, first it makes it clear this is a Windows
only setting, second it makes room for future UNICODE
setting which may mean a native UNICODE Harbour HVM,
third is to try to clear up the wide misunderstandings
surrounding this setting (several users thought this
will enable general UNICODE support in Harbour).
+ Extended/changed description of option HB_BUILD_WINUNI,
explaining its purpose better, giving more precise details
for WinCE builds and builds on Win9x/ME hosts.
; INCOMPATIBLE: If you use this setting, rename it on
your system. Note1: You don't have to set this
when doing WinCE builds (it's ignored).
Note2: Try UNICOWS, instead of overriding
this setting. It works.
* contrib/hblzf/tests/test.prg
* contrib/hblzf/hblzf.c
! Turns out none of the LZF_[DE]COMPRESS() functions are
pure wrappers. Readded HB_ prefix to both.
* contrib/hblzf/tests/test.prg
* contrib/hblzf/hblzf.c
* contrib/hblzf/hblzf.hbp
+ contrib/hblzf/hblzf.ch
* Re-renamed HB_LZF_*() pure wrapper functions to LZF_*().
% Deleted unnecessary HB_SIZE casts.
! Fixed formatting to Harbour standard in new code.
! Added HB_ prefix to locally rolled macros.
+ Moved locally rolled macros to separate .ch file.
! Fixed test to use hblzf.ch instead of repeating macro definitions.
; TOFIX: errno.h. Replace with HB_LZF_* values?
* tests/wvtext.prg
! Fixed -w3 warnings.
* contrib/hblzf/hblzf.c
* contrib/hblzf/tests/test.prg
+ Changed delta and buffer size settings to be extra parameters
in compress/decompress calls instead of rolling separate setter/getters
and storing them in TSD.
- harbour/contrib/hbwin/oleinit.c
* removed old OLE initialization and cleanup code which was working
only for main thread
* harbour/contrib/hbwin/axcore.c
* harbour/contrib/hbwin/olecore.c
* harbour/contrib/hbwin/hbwin.hbp
* harbour/contrib/hbwin/hbolesrv.c
* harbour/contrib/hbwin/legacyco.c
+ added new OLE init/exit code which is thread oriented
WARNING: now OLE is initialized when thread executes first time
one of Harbour OLE functions not at application startup.
C code which uses OLE without calling any Harbour PRG
level OLE function should initialize OLE for each thread
calling hb_oleInit() - it's very fast function so it can
be called without noticeable overhead. Please remember
that such initialization should be done for each thread.
Please test it - I do not have access to MS-Windows computer now
so I cannot make any test myself.
- contrib/3rd/sqlite3/sqlite3ext.h
+ contrib/3rd/sqlite3/sqlite3x.h
- contrib/3rd/sqlite3/sqlite3.dif
* contrib/3rd/sqlite3/sqlite3.hbp
! Fixed original source URL to point to new version.
! Fixed to rename newly added header with long filename to 8.3.
And this pretty much defeats its whole purpose, and
I can't see a reson to host this file in SVN,
sincet the sole purpose of this locally hosted source is
to serve as dependency for _Harbour sources_. Other non-Harbour
sources should not use this source, therefore hosting sqlite3ext.h
has no point until Harbour SVN itself needs it. (and in such
case our own code should refer to it using short filename)
! Updated .dif, which means deletion, since sqlite team
applied this patch.
* contrib/hblzf/hblzf.c
* contrib/hblzf/tests/test.prg
! Rearranged to not have code after hb_err*() call.
% Deleted HB_IS*() checks before hb_stor*() call. (unnecessary)
! Fixed formatting to comply with Harbour style. Pls don't
reformat it with local style.
+ Added TOFIX: eliminate static vars for MT compliance
+ Added TOFIX: eliminate reliance on errno.h, as it's not present on
some systems.
* Renamed HB_LZF_DECOMPRESS()/HB_LZF_COMPRESS() to not have HB_
prefix. (HB_ prefix is only needed for functions which are not
strict wrappers)
! Fixed HB_LZF_DELTA(), HB_LZF_BUFFERSIZE() to only set settings
when parameter was passed. To reset to default value: pass NIL.
This makes it possible to read these values without resetting them.
! Fixed LZF_DECOMPRESS() to allocate space for termination byte,
this also fixes allocating zero bytes when empty string is passed.
* contrib/hblzf/hblzf.hbp
* Minor formatting.
* INSTALL
! Restored my latest change. Please ALWAYS update before commit.
(and needless to say, work in local SVN sandbox, instead of
copying in changes from elsewhere)
* package/harbour.spec
* package/harbour-win.spec.in
* package/harbour-wce.spec.in
* include/hbver.h
* config/global.mk
+ Changed version number to:
2.1.0beta3 (from 2.1.0beta2)
* contrib/gtwvg/gtwvg.hbc
! Typo.
* contrib/gtwvg/tests/wvgactivex.prg
* Eliminated WITH OBJECT. Now Harbour doesn't
use this statement except in test code.
* harbour/src/compiler/complex.c
! fixed condition used in some seldom places to convert expressions
inside square brackets [] to strings, i.e.:
FOR EACH c IN [abc]
? c
NEXT
* keep Clipper restrictions for FUNCTION and PROCEDURE keywords
covered by -kc switch
* harbour/tests/cpinfo.prg
* small modification for non latin CPs having first lower letter before
upper
* keep signature for generated CP files as "$Id' + "$" to avoid
automatic replacing by SVN
* harbour/src/codepage/cpcskamc.c
* harbour/src/codepage/cpskkamc.c
* replaced binary tables used to create CSKAMC and SKKAMC with
human readable definition using HB_CDP_CSSORT_MIXED
* harbour/include/hbapicdp.h
* harbour/include/hbcdpreg.h
* harbour/src/rtl/cdpapi.c
* harbour/tests/cpinfo.prg
+ added support to define CPs using different letter case sorting
in human readable form. Now it's possible to use:
// uppers before lowers: ABCDE...abcde...
#define HB_CP_CSSORT HB_CDP_CSSORT_UPLO
// uppers and lowers are mixed: AaBbCcDdEe....
#define HB_CP_CSSORT HB_CDP_CSSORT_MIXED
// ignore case
#define HB_CP_CSSORT HB_CDP_CSSORT_IGNORE
* harbour/include/dbinfo.ch
* harbour/src/rdd/dbfntx/dbfntx1.c
* harbour/src/rdd/dbfnsx/dbfnsx1.c
* harbour/src/rdd/dbfcdx/dbfcdx1.c
+ added DBOI_RESETPOS action which can be used to discard cached
logical and raw position in all index files in given WA
* src/rtl/hbinet.c
* Do not set SO_EXCLUSIVEADDRUSE on Windows in
HB_INETSERVER(), HB_INETDGRAMBIND() calls.
; NOTE: INET API is compatibility API, it's deprecated and
not recommended. Use SOCKET API instead, where
you have full control of above options and it's
also much superior API.
* include/harbour.hbx
* include/hbsocket.h
* src/rtl/hbsocket.c
* src/rtl/hbinet.c
* src/rtl/hbsockhb.c
+ Added hb_socketSetExclusiveAddr() on .c level.
+ Added hb_socketSetExclusiveAddr() on .prg level.
* hb_socketSetReuseAddr() cleaned from SO_EXCLUSIVEADDRUSE (Windows-only)
logic.
* Changed HB_INETSERVER(), HB_INETDGRAMBIND() to call
hb_socketSetExclusiveAddr()(). We may delete these if they
cause problems on some Windows platforms, though we must
absolutely use this option (for security reasons) in every
server component, if Windows host supports it.
; TODO: Call hb_socketSetExclusiveAddr() from hbnetio server,
hbhttpd server.
* include/hbcpage.hbx
* src/codepage/Makefile
+ src/codepage/cpcs852c.c
* src/codepage/cpsk852c.c
- src/codepage/cpcskam.c
+ src/codepage/cpcskamc.c
- src/codepage/cpskkam.c
+ src/codepage/cpskkamc.c
! Fixed SK852C to be fully Clipper compatible. (generated with cpinfo)
! Added Clipper compatible CS852C CP. (generated with cpinfo)
* SK/CS Kamenicky CP moved to Clipper compatibility status.
Updated to be Clipper compatible. (generated with cpinfo)
INCOMPATIBLE. Pls update CP names if you used these.
Thanks to Jaroslav Janik for the help.
Please test all these.
* harbour/src/codepage/cpcs852.c
* harbour/src/codepage/cpcskam.c
* harbour/src/codepage/cpcsiso.c
* harbour/src/codepage/cpcswin.c
! switched from HB_CDP_ACSORT_INTERLEAVED to HB_CDP_ACSORT_NONE in
Czech code pages.
* harbour/config/win/bcc.mk
* disable explicitly some common BCC warnings in 3rd party code
which we can safely ignore when HB_BUILD_WARN=no
* harbour/utils/hbmk2/hbmk2.prg
* disable explicitly some common BCC warnings which we can safely
ignore when warning level is set to low
* harbour/contrib/hbmisc/bbabble.c
* removed unnecessary incrementation to pacify compile warning
* harbour/src/rdd/dbfntx/dbfntx1.c
* harbour/src/rdd/dbfnsx/dbfnsx1.c
* harbour/src/rdd/dbfcdx/dbfcdx1.c
! fixed hb_cdpcmp() call used in indexing RDDs so it can work with
CPs using digraphs
* src/rtl/hbsocket.c
! hb_socketSetReuseAddr() changed on win platforms to use
SO_EXCLUSIVEADDRUSE instead of SO_REUSEADDR. See http://paste.lisp.org/display/59751.
Rough patch, maybe the logic isn't applied to the right place,
maybe extra win version checks are required, please test it
and patch it further if needed.
* src/rtl/hbinet.c
* s_inetBind() changed back to call hb_socketSetReuseAddr() also
on win platforms.
* contrib/hbwin/tests/testole.prg
+ Added shortcut creation example.
* contrib/hbide/idemisc.prg
! Fixed HBIDE_PATHNORMALIZED() to _never_ lowercase passed
filename. As discussed very long time ago, such behavior
is not portable. For comparison purposes HB_FILEMATCH()
should be used, for other purposes _no_ change should be
done by hbide in filename casing. Ever.
This is brute force fix only applied to low-level code.
It will cause regressions on the higher level, which have
to be fixed.
; TODO: Delete this second parameter from all calls, now
the value is ignored.
; TOFIX: Review all
HBIDE_PATHNORMALIZED() and
HBIDE_PATHNORMALIZED( p, .T. )
calls if they are used in comparison context and change
caller code to use HB_FILEMATCH().
; TOFIX: All current code which uses LOWER()/UPPER() to
"normalize" filename before comparison with '=='
operator should also be changed to HB_FILEMATCH().
(except for cases where extension is used in the
sense of file type).
; TOFIX: Rest of cases where LOWER()/UPPER() is applied to
filenames.
! Fixed HBIDE_PATHFILE() to never uppercase drive letter.
It's not strictly required since all so far known systems
supporting drive letter are case insensitive, but it's
nevertheless not the job of hbide to reformat pathnames.
* contrib/hbide/ideactions.prg
* contrib/hbide/idesaveload.prg
* contrib/hbide/ideharbourhelp.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbide/idesources.prg
! Fixed some code to use HB_FILEMATCH() instead of unconditional
uppercasing/lowercasing. Please review and finish this modification,
there might be more hidden places and might have overlooked anything
in this patch.