* harbour/src/rdd/wacore.c
% minor optimization
* harbour/src/rdd/usrrdd/usrrdd.c
+ extended USRRDD_ID() to accept RDD name as parameter
* harbour/src/rdd/usrrdd/rdds/arrayrdd.prg
* harbour/src/rdd/usrrdd/rdds/logrdd.prg
! fixed to not use:
( AScan( RDDLIST( RDT_FULL ), "ARRAYRDD" ) - 1 )
to extract RDD ID.
In theory it could work if RDDLIST( 0 ) is used instead
of RDDLIST( RDT_FULL ) anyhow it's much more efficient to
simply store RDD ID in static variable inside *_GETFUNCTABLE()
function
* harbour/include/hbcompdf.h
* harbour/src/compiler/hbmain.c
* save and restore compiler settings when separated .prg files are
compiled as different modules. Files compiled as single module
(i.e. by .clp files, #included, added by DO ... [WITH ...], etc.)
are still compiled using the same settings inheriting any modifications
introduced by #pragma. It's intentional behavior.
* harbour/src/pp/hbpp.c
* modified syntax info to keep output well formatted for 80 columns
* harbour/src/pp/hbpp.1
* updated
* harbour/src/rdd/dbf1.c
* harbour/src/rdd/delim1.c
* harbour/src/rdd/sdf1.c
* harbour/contrib/rddsql/sqlbase.c
! added protection against GPF when wrong field index is passed to
{GET|PUT}VALUE[FILE]() methods
* harbour/src/vm/itemapi.c
* do not clear parameter when NULL item is passed to
hb_itemParamStore*() functions
* harbour/contrib/hbnetio/netiosrv.c
* harbour/contrib/hbnetio/readme.txt
- removed NETIO_SRVSOCKET()
* harbour/ChangeLog
* marked TODO as DONE
* harbour/include/hbapiitm.h
* harbour/src/vm/itemapi.c
+ added new C function hb_itemParamStoreRelease()
* modified hb_itemParamStore*() functions to accept NULL items
+ harbour/contrib/hbnetio/hbnetio.ch
* harbour/contrib/hbnetio/netio.h
* harbour/contrib/hbnetio/netiosrv.c
* harbour/contrib/hbnetio/readme.txt
+ extended NETIO_SRVSTATUS() function so now it can be used to
extract some additional information about connection socket:
NETIO_SRVSTATUS( <pConnectionSocket>
[, <nStreamID> | <nSrvInfo>, @<xData> ] )
-> <nStatus>
<nSrvInfo> can be:
NETIO_SRVINFO_FILESCOUNT
NETIO_SRVINFO_BYTESSENT
NETIO_SRVINFO_BYTESRECEIVED
NETIO_SRVINFO_PEERADDRES
; TODO: please eliminate NETIO_SRVSOCKET() from any code using it.
It's too danger so I'll remove this function from HBNETIO soon.
NETIO_SRVOPENFILESCOUNT() is also redundant now and can be
replaced by:
NETIO_SRVSTATUS( pConnSock, NETIO_SRVINFO_FILESCOUNT, @nCount )
so it can be removed too.
* harbour/include/hbapi.h
* harbour/include/hbwmain.c
* harbour/src/vm/cmdarg.c
* moved declaration of hb_winmainArgInit() to header file
* harbour/contrib/hbmxml/3rd/minixml/mxml_fil.c
* harbour/contrib/hbmxml/3rd/minixml/mxml.h
! fixed to compile with WinCE builds
; I cannot regenerate .diff file because
../../../../bin/hb3rdpat.hbs -rediff
generates RT error:
Error BASE/1123 Argument error: HB_ATOKENS
Called from HB_ATOKENS(0)
Called from URL_GETFILENAME(810)
Called from FETCHANDEXTRACT(673)
Called from MAIN(412)
Sorry, probably I'm missing sth what was already discussed
but I was not able to follow all post on the list in last
weeks so I would like to ask Viktor or Tamas for the help.
* include/hbwmain.c
* src/vm/cmdarg.c
! Fixed missing declaration for hb_winmainArgInit()
! Fixed missing HB_EXTERN_* from around hb_winmainArgInit() declaration.
; Patches from Andi. Thank you.
* Added HB_EXPORT to the declaration in hbwmain.c.
* harbour/include/hbcomp.h
* do not inherit in macrocompiler -z compile time switch when -kc is
also used
* harbour/src/common/expropt2.c
* disable logical expression optimization (reduction) in macrocompiler
when -kc compile time switch is used.
* harbour/config/beos/gcc.mk
* harbour/config/qnx/gcc.mk
* harbour/config/bsd/gcc.mk
* harbour/config/wce/mingwarm.mk
* harbour/config/vxworks/gcc.mk
* harbour/config/hpux/gcc.mk
* harbour/config/darwin/gcc.mk
* harbour/config/dos/djgpp.mk
* harbour/config/win/mingw.mk
* harbour/config/linux/gcc.mk
* harbour/config/cygwin/gcc.mk
* harbour/config/symbian/gcc.mk
* harbour/config/os2/gcc.mk
* harbour/config/sunos/gcc.mk
* harbour/utils/hbmk2/hbmk2.prg
* enable some important warnings in GCC builds using -W<name>... instead
of -Wall and -Wno-<name>... for warning level set to low.
It should help in backward compatibility with some older GCC versions.
* harbour/src/rtl/stuff.c
* minor modification which should pacify warnings in some compilers
* harbour/src/rtl/gtgui/gtgui.c
* removed unnecessary assignment to pacify BCC warning
* harbour/contrib/hbxdiff/hbxdiff.c
! fixed file handle to pointer casting - on some platforms/C compilers
old code could cause compile time warnings or even errors
* harbour/src/rtl/gtgui/gtgui.c
* use MB_ABORTRETRYIGNORE instead of MB_RETRYCANCEL only when defined
by default and program is executed in W2K or newer Windows version
* harbour/src/rtl/gtgui/gtgui.c
+ added basic support for redirecting ALERT() to MessageBox() in
MS-Windows GTGUI builds. Please remember that MessageBox() supports
only few predefined buttons so it's not possible to show all user
options. Anyhow it should be enough to present error messages
generated by default error handler.
* harbour/src/rtl/filesys.c
! fixed function name in HB_TRACE() message
* harbour/src/rdd/sdf1.c
* harbour/src/rdd/delim1.c
* add CHR(26) at the end of COMMA and SDF files only when _SET_EOF is .T.
+ src/3rd/png/png.dif
* src/3rd/png/Makefile
+ Added new .dif for png to cover recent local changes.
* src/3rd/jpeg/jpeg.dif
* src/3rd/jpeg/README
! Minor fix to .dif.
; Both patches sent by Tamas.
* src/3rd/png/pnglconf.h
! Fix for watcom compilers. Patch by Tamas.
* contrib/hbmxml/hbmxmlp.prg
% Optimized out local variables.
* ChangeLog
! Fixed missing credit for Tamas in 2011-01-07 18:30 UTC+0200 Petr Chornyj
* src/vm/cmdarg.c
* Formatting.
* package/winuni/mpkg_win_uni.nsi
+ Added TOFIX to recent HBIDE shortcut addition.
It should only be there if HBIDE component was selected.
- Disabled HBIDE icon until a proper solution is found.
* contrib/hbct/ctnet.c
! NETRMTNAME(): Fixed along the patch sent by vbdasc.
Please test it.
* contrib/hbmxml/3rd/minixml/config.h
! Space at EOL.
* harbour/src/rtl/filesys.c
+ added new macros HB_WIN_IOREAD_LIMIT and HB_WIN_IOWRITE_LIMIT
They are used to define maximal size of single IO read and
write operations. In Win64 builds they are set by defauly
to HB_U32_MAX. It's possible to rebuild Harbour with above
macros setting some smaller limits.
* harbour/src/vm/cmdarg.c
+ added support for //F:<nFiles> application runtime switch in DOS
and OS2 Open Watcom builds, code by Lorenzo Fiorini and Maurilio
Longo borrowed from xHarbour.
* harbour/src/rtl/hbproces.c
! fixed hb_fsProcessExec() in DOS, OS2 and WinCE builds and
hb_fsProcessOpen() in OS2 builds to close handles open for
stdin, stdout and stderr communication
* harbour/src/rtl/fieldbl.prg
! fixed FieldBLock() and FieldWBLock() to be CA-Cl*pper compatible
(they should return NIL for field names which are not valid
identifiers and generate RTE during evaluation if field does
not exist)
* harbour/src/rtl/cdpapi.c
* removed dummy assignment
* harbour/src/lang/msgpl852.c
* harbour/src/lang/msgplmaz.c
* harbour/src/lang/msgpliso.c
* harbour/src/lang/msgplwin.c
! fixed one message translation
* harbour/config/dos/watcom.mk
* harbour/config/win/watcom.mk
* harbour/config/linux/watcom.mk
* harbour/config/os2/watcom.mk
* disable explicitly some Open Watcom warnings in 3rd party code
which we can safely ignore when HB_BUILD_WARN='no'
* harbour/utils/hbmk2/hbmk2.prg
* disable explicitly some Open Watcom warnings in 3rd party code
which we can safely ignore when warning level is low
* 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.
* 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/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.