* source/pp/hbpp.c
* source/vm/cmdarg.c
* source/vm/memvars.c
* source/rtl/dates.c
* source/rtl/fstemp.c
* source/rtl/gtchrmap.c
* source/rtl/gtcrs/gtcrs.c
* source/rtl/gtpca/gtpca.c
* source/rtl/gtstd/gtstd.c
* source/rdd/dbf1.c
* source/rdd/dbfntx/dbfntx1.c
* contrib/hbct/disk.c
* contrib/hbfbird/firebird.c
* contrib/hbw32/w32_ole.c
* contrib/xhb/hboutdbg.c
* contrib/examples/pp/hbppcore.c
* strncpy() -> hb_strncpy()
* strncat() -> hb_strncat()
! In most of these places the terminating zero
was not explicitly set by the caller before.
* contrib/hbnf/getenvrn.c
* contrib/hbw32/dllcall.c
* contrib/hbw32/w32_ole.c
* contrib/hbwhat32/_wincdlg.c
* contrib/hbwhat32/_windll.c
* contrib/hbwhat32/_winmain.c
* contrib/hbziparch/hbzipnew.cpp
! strcpy() -> hb_strncpy()
! strcat() -> hb_strncat()
; TOFIX1: There are still two strcpy()s left in SQL_SPRINTF().
Xavi, could you pls take a look at it?
; TOFIX2: There are still a few strcpy()s in hbwince.c and
dbgentry.c.
* source/pp/hbpp.c
* source/rtl/gtcrs/gtcrs.c
* source/rtl/gtpca/gtpca.c
* source/rtl/gtstd/gtstd.c
* contrib/hbfbird/firebird.c
* contrib/hbwhat32/_wincdlg.c
* contrib/hbwhat32/_windll.c
! Fixed wrong buffer sizes (or no buffer limits) in some
string copy operations (potential buffer overruns).
* contrib/hbnf/getenvrn.c
! Fixed bad leak in FT_GETE() on Win32 systems.
* source/rtl/fstemp.c
! hb_fsTempName(): Fixed potential buffer overrun by one byte.
* Minor formatting.
* source/rtl/fstemp.c
* source/rtl/hbffind.c
* contrib/xhb/hboutdbg.c
* Using sizeof() instead of explicit size in string copy operations.
; TODO: There is a lot more to fix like this.
; Przemek, could you double check these changes pls?
I can send you the .diff if it helps.
* 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.
* 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/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.
* source/pp/hbpp.c
* source/pp/ppcore.c
* source/pp/pplib.c
! Fixed bug introduced in r8836, so that now __HARBOUR__
will again be #defined when 'harbour /u' switch is used.
Thanks Randy.
* harbour/source/pp/ppcore.c
! fixed GPF in expressions like:
#command CMD => #translate abc => \
problem located by Ron in xHarbour
* harbour/source/pp/hbpp.c
* extended string escaping to also quote " and ? (possible trigraph)
* harbour/source/compiler/gencc.c
; comment formatting
* include/hbstdgen.ch
* include/hbver.h
* include/hbdefs.h
* source/pp/pplib.c
* source/pp/ppcore.c
* source/pp/hbpp.c
* source/common/hbver.c
* source/common/hbverdsp.c
* contrib/hbsqlit3/hbsqlit3.c
* contrib/examples/pp/hbppdef.h
* Changed .c level __HARBOUR__ to have the same value
as the existing .prg level one.
* PP now gets the __HARBOUR__ define directly from the .c
level instead of generating it locally.
; QUESTION: Should or shouldn't we change __HARBOUR__
to contain revision number too? (0x0100 -> 0x01000)
This would allow for a greater level of development
opportunities between minor revisions, more "agile"
development.
* include/hbpp.h
* source/pp/ppcore.c
- Two __XHARBOUR__ guards removed.
* harbour/include/hbpp.h
* harbour/source/pp/ppcore.c
+ added hb_pp_errorCount() which returns total number of errors
which appeared during preprocessing
* harbour/source/pp/hbpp.c
* added new switch:
-u[<file>] use command def set in <file> (or none)
* if neither -o nor -v is specified then -w is default action
+ added to default search paths INCLUDE envvar
* set application exit code to non 0 value if errors appear
during preprocessing
* harbour/source/compiler/harbour.yyc
* harbour/source/compiler/harbour.y
! added support for expression list without parenthesis used in
statements - Clipper compatibility fix.
* harbour/harbour-ce-spec
* harbour/harbour-w32-spec
* harbour/harbour.spec
* harbour/make_tgz.sh
* removed not longer used HBPP references, thanks to Adam
* added hbppgen to list of installed binaries for native builds
* removed hbppgen from cross builds
* harbour/source/pp/Makefile
* harbour/config/install.cf
* added hack to install also hbppgen
I do not want to make deeper modifications in non GNU makefiles now.
Looks that now we are ready to rename hbppgen to hbpp. I would like
to keep -w hbppgen option semantic as is. Does anyone find it as
a problem?
* harbour/source/debug/debugger.prg
* removed some unused var, formatting
* harbour/source/pp/ppcore.c
* harbour/source/common/expropt1.c
* harbour/source/common/expropt2.c
* harbour/source/common/hbdate.c
* casting
* harbour/source/common/hbstr.c
* casting
* use HB_ISSPACE() instead of isspace() for strict Clipper
compatibility
* harbour/source/compiler/harbour.y
* harbour/source/compiler/harbour.yyc
! never use 'char' to 'int' casting for parameters of
toupper()/to*()/isuper()/is*() functions
- contrib/hbmisc/dbftools.c
* contrib/hbmisc/common.mak
* contrib/hbmisc/Makefile
- Removed to avoid collision with similar file in hbct.
Notice the content was also similar, except that
in hbct it was updated and extended. There was also
FIELDTYPE() implemented which was colliding with
function with the same name in core.
* include/hbextern.ch
* source/rdd/dbcmd.c
* source/rdd/dbdrop.c
* source/rdd/dbexists.c
* source/rdd/fieldhb.c
+ Added HB_ prefixed versions of DBDROP(),
DBEXISTS(), FIELDDEC(), FIELDLEN(), FIELDTYPE()
* source/rdd/rddinfo.c
! Comment.
* tests/multifnc/Makefile
! Updated lib names.
* contrib/hbapollo/apollo.c
! Fixed MSVC errors.
* contrib/mtpl_b32.bat
* contrib/mtpl_vc.bat
! Removed one obsolete line.
+ Now defines _HB_MAKELOG.
* contrib/hbapollo/make_b32.bat
* contrib/hbapollo/make_vc.bat
* contrib/hbfimage/make_b32.bat
* contrib/hbgd/make_b32.bat
* contrib/hbhpdf/make_b32.bat
* contrib/hbmysql/make_b32.bat
* contrib/hbodbc/make_b32.bat
* contrib/hbodbc/make_vc.bat
* contrib/hbpgsql/make_b32.bat
* contrib/hbpgsql/make_vc.bat
* contrib/hbw32ddr/make_b32.bat
* contrib/hbw32ddr/make_vc.bat
* contrib/hbzlib/make_b32.bat
* contrib/rddads/make_b32.bat
+ Redirects .lib creation (implib, lib) output to log file.
* contrib/xhb/hbcompat.ch
+ Added some more converions for xhb code.
* contrib/rddads/ads1.c
+ Added two TODOs. (to adsDrop and adsExists)
* source/pp/hbppgen.c
! MSVC warning fixed.
* make_vc.mak
! Typo in prev commit.
* harbour/bin/hb-func.sh
! do not add .exe suffix if user added it explicitly in W32/DOS builds
* harbour/source/vm/dynsym.c
* added internal error when size of dynamic table exceed maximal size
% small optimization in hb_dynsymFind() function
* harbour/source/pp/ppcore.c
* added support for generating #line directives in strictly Clipper
compatible way even if they are redundant. It can be enabled
by HB_PP_STRICT_LINEINFO_TOKEN compiler time macro, f.e. using
environment variables:
set C_USR=-DHB_PP_STRICT_LINEINFO_TOKEN %C_USR%
and making clean build.
* harbour/source/pp/ppcore.c
! fixed some combinations of user functions in stream pragmas, f.e.:
#pragma __cstream|f1(%s)|f2()
or:
#pragma __cstream||f2(%s)
+ added support for:
#pragma __[c]streaminclude "fileName"|<code with %s result marker>
f.e.:
#pragma __streaminclude "foo1.html"|cHtml:=%s
__cstreaminclude decode C like escape sequences, __streaminclude
doesn't do that and takes file body in raw form. Maximum file size
is arbitrary set to 65520.
* harbour/ChangeLog
* harbour/harbour.spec
* reverted translation to UTF8 - Tomaz please check your editor
settings and disable automatic translation to UTF8. It's not
the first as such situation happens.
* harbour/include/hbclass.ch
+ added two missing PP directives
! protected against some repeated external definitions
* harbour/source/pp/Makefile
* harbour/source/pp/hbppgen.c
* harbour/source/pp/ppcore.c
* harbour/source/common/hbver.c
* harbour/source/common/hbverdsp.c
* harbour/source/main/harbour.c
* harbour/source/vm/cmdarg.c
* harbour/utils/hbpp/hbpp.c
* harbour/include/hbpp.h
* harbour/include/hbcomp.h
* harbour/include/hbver.h
* harbour/include/hbapi.h
* harbour/make_vcce.mak
* harbour/make_b32.mak
* harbour/make_vc.mak
* harbour/make_gcc.mak
+ added support for dynamically set during compilation ChangeLog entry
ChangeLog ID and SVN revision and compilation flags
Now hbppgen creates in include directory hbverbld.h file with
information extracted from ChangeLog. New hbppgen parameters:
Syntax: ./hbppgen <file>[.prg] [options]
Options: -i<path> add #include file search path
-c[<file>] look for ChangeLog file
-o<file> creates .c file with PP rules
-v<file> creates .h file with version information
-w write preprocessed (.ppo) input file
-q disable information messages
+ added new C functions:
int hb_verSvnID( void )
- retrieves ChangeLog SVN revision number
const char * hb_verSvnChangeLogID( void )
- retrieves a static buffer containing ChangeLog ID string
const char * hb_verSvnLastEntry( void )
- retrieves a static buffer containing ChangeLog last entry string
const char * hb_verFlagsC( void )
- retrieves a static buffer containing build time C compiler
flags in C_USR envvar
const char * hb_verFlagsL( void )
- retrieves a static buffer containing build time linker
flags in L_USR envvar
const char * hb_verFlagsPRG( void )
- retrieves a static buffer containing build time Harbour compiler
flags in PRG_USR envvar
+ added new default PP defines which can be used in .prg code compiled
by Harbour compiler: HB_VER_LENTRY, HB_VER_CHLID, HB_VER_SVNID
* harbour/source/rtl/gtxwc/gtxwc.c
* formatting
* harbour/source/rtl/gttrm/gttrm.c
! fixed redrawing GPM mouse pointer after screen updating
* harbour/source/rtl/gtstd/gtstd.c
* harbour/source/rtl/gtpca/gtpca.c
* updated for compilation even if some POSIX macros are not supported
f.e. problems with some DJGPP versions reported recently
* harbour/source/debug/dbgentry.c
* harbour/source/debug/dbgtobj.prg
* harbour/source/debug/dbgbrwsr.prg
* harbour/source/debug/dbgthsh.prg
* harbour/source/debug/tbrwtext.prg
* harbour/source/debug/dbgwa.prg
* harbour/source/debug/debugger.prg
* harbour/source/debug/dbghelp.prg
* harbour/source/debug/dbgtarr.prg
! Fixed object inspector in the debugger.
! Added HbDbBrowser:invalidate() message. Fixes work area browsing in debugger.
! Added an minimalistic TBrowse implementation that is just enough
for internal use by the debugger. Fixes miscellaneous problems e.g.
when debugging a piece of code with RELATIONs turned on.
Fixes by Phil Krylov borrowed from xHarbour.
* harbour-ce-spec
* harbour-w32-spec
* bin/bld.bat
* harbour.spec
* common.mak
* source/pp/Makefile
* source/lang/Makefile
* source/macro/Makefile
* source/rtl/Makefile
* source/vm/mainstd/Makefile
* source/vm/Makefile
* source/vm/mainwin/Makefile
* source/main/Makefile
* source/debug/Makefile
* source/codepage/Makefile
* source/common/Makefile
* source/rdd/nulsys/Makefile
* source/rdd/Makefile
* source/rdd/hsx/Makefile
* source/rdd/usrrdd/Makefile
* source/compiler/Makefile
* contrib/hbct/tests/Makefile
* contrib/hbodbc/tests/bld_b32.bat
* contrib/hbole/tests/bld_b32.bat
* contrib/hbapollo/tests/bld.bat
* contrib/hbfbird/tests/bld_b32.bat
* contrib/hbfbird/tests/Makefile
* contrib/hbpgsql/tests/Makefile
* contrib/hbfimage/tests/bld_b32.bat
* contrib/hbgd/tests/bldtest.bat
* contrib/hbmisc/tests/Makefile
* contrib/hbgf/tests/bld_b32.bat
* contrib/hbbtree/tests/Makefile
* contrib/examples/guestbk/Makefile
* contrib/examples/pe/Makefile
* contrib/examples/dbu/Makefile
* contrib/examples/misc/Makefile
* contrib/examples/hscript/Makefile
* utils/hbdoc/Makefile
* utils/hbextern/Makefile
* utils/hbdot/Makefile
* utils/hbmake/Makefile
* utils/hbmake/hbmutils.prg
* utils/hbmake/hbmake.prg
* utils/hbpp/Makefile
* utils/hbpptest/Makefile
* utils/hbtest/Makefile
* utils/hbrun/Makefile
* tests/Makefile
* Core libs renamed to be prefixed with hb, while
having the first significant 5 chars unique.
Old name New name
-------- --------
codepage -> hbcpage
common -> hbcommon
compiler -> hbcplr
debug -> hbdebug
hbsix -> hbsix
hsx -> hbhsx
lang -> hblang
macro -> hbmacro
pp -> hbpp
rtl -> hbrtl
vm -> hbvm
rdd -> hbrdd
dbfcdx -> rddcdx
dbffpt -> rddfpt
dbfntx -> rddntx
nulsys -> hbnulrdd
usrrdd -> hbusrrdd
mainwin -> hbmainwin
mainstd -> hbmainstd
NOTE/TODO: We're currently not in sync with contribs,
regarding hb prefixing, since in contrib
rdds and gts (rightly) also have hb prefixes.
The only reason not to add them in core this
time, is to keep compatibility with DJGPP.
Maybe we should remove those prefixes from
contrib.
NOTE/TODO: Do tests in as many platforms and as many contrib
tests as possible. Feedback from hbmake users is
also welcome.
!!! Please update your local make files !!!
* include/hbgtinfo.ch
+ Added HB_ prefixed versions for all GTI_ macros.
Unprefixed GTI_ macros are to be considered xhb
compatible (or legacy) ones, and they can be
excluded by #defining HB_GT_NO_XHB if they seem to
collide with user code.
TODO: Switch to use HB_GTI_* inside Harbour code.
* harbour/source/vm/estack.c
* added missing static to s_initSymbol declaration
* harbour/include/hbgtinfo.ch
* harbour/source/rtl/scroll.c
* formatting
* harbour/common.mak
* added empty line necessary for some make systems (f.e. wmake)
* harbour/bin/hb-func.sh
* changed system libs order to avoid problems on some platforms
* harbour/bin/pack_src.sh
* collect information about repository files using 'svn status -v'
command instead of scanning .svn/entries files to avoid problems
with different formats used by SVN
* harbour/include/hbchksum.h
* harbour/include/hbset.h
! added missing extern in few function prototypes
* harbour/include/hbclass.ch
* use HB_CLS_PARAM_LIST macro instead of ... for strict C52 mode
* harbour/source/common/hbfsapi.c
+ added missing const to one declaration
* harbour/source/common/hbstr.c
* minor cleanup in hb_stricmp()
* harbour/source/rtl/inkey.c
! casting to avoid negative values during char to int translation
* harbour/source/rtl/mouse53.c
* added one internal definition
* harbour/source/rtl/philes.c
* removed unnecessary #include(s)
* added missing const to one declaration
* harbour/source/rtl/valtype.c
* harbour/source/vm/hashfunc.c
* cleanup RT error call to eliminate hb_paramError() function
* harbour/source/pp/pplib.c
* harbour/source/vm/runner.c
* harbour/source/vm/debug.c
* harbour/source/vm/arrayshb.c
* harbour/source/vm/classes.c
* harbour/source/vm/hvm.c
* harbour/source/rtl/hbgtcore.c
* harbour/source/rtl/gtfunc.c
* harbour/source/rtl/hbinet.c
* harbour/source/rtl/hbregex.c
* harbour/source/rtl/idle.c
* harbour/source/rtl/errorapi.c
* harbour/source/rtl/hbtoken.c
* harbour/source/rtl/direct.c
* harbour/source/rdd/dbcmd.c
* harbour/source/rdd/dbcmd53.c
* harbour/source/rdd/fieldhb.c
* harbour/source/rdd/hbsix/sxcompr.c
* harbour/source/rdd/hbsix/sxcrypt.c
* harbour/source/compiler/hbcmplib.c
* harbour/contrib/hbrddads/adsfunc.c
* harbour/contrib/hbrddads/adsmgmnt.c
- removed unnecessary calls to hb_ret()
% replaced hb_itemRelease( hb_itemReturn( pItem ) ) with
hb_itemReturnRelease( pItem )
% replaced hb_itemPut*( hb_arrayGetItemPtr( pArray, ... ), ... ) with
hb_arraySetNI( pArray, ... )
* harbour/source/macro/macro.y
* harbour/source/macro/macro.yyc
* harbour/contrib/xhb/cstructc.c
* harbour/contrib/hbw32/w32_ole.c
* harbour/contrib/hbgtwvg/wvtcore.c
* cleaned typos with double ;;
* harbour/source/vm/extend.c
* harbour/source/rtl/math.c
* cleaned HB_EXPORT usage
* harbour/source/pp/ppcore.c
! fixed Harbour extension which allows to use match marker
at the beginning of rule definition
* harbour/source/main/harbour.c
! fixed hex conversion in FM log module - fix done by Phil Krylov
in xHarbour
* harbour/source/rdd/nulsys/nulsys.c
+ added dummy version of DBEVAL() and DBFILTER() - these functions
are used in RTL
* harbour/contrib/hbct/bitnum.c
+ added INTNEG(), INTPOS()
+ harbour/contrib/hbct/ctrand.prg
+ added RANDOM(), RAND() - borrowd from xHarbour by Pavel Tsarenko
+ harbour/contrib/hbct/setrc.c
+ added SETRC()
* harbour/contrib/hbct/getinput.prg
% minor optimization
* harbour/contrib/hbct/Makefile
* harbour/contrib/hbct/common.mak
* updated for new files
* harbour/contrib/hbnf/tempfile.prg
* use HB_FTempCreate() - modification borrowed from xHarbour
TOFIX this function uses hb_isbyref() which does not exist
in Harbour
* harbour/config/w32/msvc.cf
+ added -nologo flag for cl.exe (Phil Krylov's modification borrowed
from xHarbour
* harbour/config/w32/mingw32.cf
- removed repeated definitions
* harbour/config/w32/install.cf
! added alternative install rule for command.com with max line size limit
* harbour/include/hbapifs.h
* harbour/source/common/hbfsapi.c
+ added hb_fsMaxFilesError()
* harbour/source/pp/ppcore.c
* harbour/utils/hbpp/hbppcore.c
* use hb_fsMaxFilesError() to avoid direct accessing of errno
value - some compilers/platforms do not support errno
* harbour/include/hbdate.h
* harbour/source/rtl/seconds.c
+ added hb_dateMilliSeconds()
* harbour/source/rtl/hbgtcore.c
* harbour/source/rtl/idle.c
* harbour/source/rtl/inkey.c
* use hb_dateMilliSeconds() to avoid using clock_t clock()
some compilers/platforms do not support it
* harbour/include/hbwince.h
* harbour/source/common/hbwince.c
* disabled clock_t clock() emulation - it's not longer used
+ added some declarations for ANSI functions emulated by us
for WinCE and some defines - code sent by Marek Paliwoda
* harbour/include/hbwmain.c
* harbour/source/vm/mainwin.c
* always use unicode translations with WinMain() parameters for compilers
which do not set UNICODE macro for WinCE
* harbour/source/rtl/fserror.c
* do not include errno.h for HB_WIN32_IO - it's not necessary
* harbour/utils/hbver/hbverfix.c
* do not include errno.h for _MSC_VER and HB_WINCE builds
* harbour/contrib/libmisc/dates2.c
- commented DATETIME() function - this was not standard DATETIME()
value but raw ctime() function output and some compilers/platforms
do not support ctime()
* harbour/contrib/libnf/getenvrn.c
+ added HB_OS_WIN_32_USED
* harbour/contrib/mtpl.mak
* harbour/contrib/pdflib/pdflib.h
* replaced TABs with SPACEs
* harbour/include/hbsetup.ch
! reenabled HB_EXTENSION in default builds - disabling it makes
a lot of RDD code unusable and breaks default builds due to
insufficient dependences
* harbour/include/hbwince.h
* put functions declarations inside HB_EXTERN_BEGIN / HB_EXTERN_END
+ harbour/include/hbwmain.c
+ added WinMain() to main() wrapper
* harbour/include/hbexprb.c
* harbour/source/common/expropt1.c
! fixed typo reported by Chen
* harbour/source/pp/hbppgen.c
* harbour/source/main/harbour.c
* harbour/utils/hbpp/hbpp.c
* use hbwmain.c when main() is not supported by C compiler/platform
* harbour/source/rtl/gtwin/gtwin.c
* include wincon.h in all builds except LCC
* harbour/source/rtl/fserror.c
* harbour/source/rtl/fstemp.c
* harbour/source/rtl/filesys.c
* use HB_OS_WIN_32_USED as in other files (still on TOFIX list)
* harbour/source/rtl/seconds.c
+ added HB_OS_WIN_32_USED
* harbour/source/compiler/hbcomp.c
! fixed typo: stderr was used instead of stdout
* harbour/contrib/bmdbfcdx/bmdbfcdx1.c
* replaced all direct access to hb_set structure with functions
Now it's possible to link bmdbfcdx with harbour.dll but because
it still access hb_cdp_page then only if linker supports auto
import conversions
* harbour/source/common/hbfsapi.c
* harbour/source/main/harbour.c
* harbour/source/pp/hbppgen.c
* harbour/utils/hbpp/hbpp.c
* added filename conversion (hb_fsNameConv()) to hb_fsFileExists()
function
* harbour/include/hbapifs.h
+ harbour/source/common/hbfopen.c
* harbour/source/common/Makefile
* harbour/common.mak
+ added hb_fopen() function - it's a wrapper to fopen() function but
calls internally hb_fsNameConv()
* harbour/source/pp/hbppgen.c
* harbour/source/pp/ppcore.c
* harbour/source/common/hbtrace.c
* harbour/source/compiler/hbmain.c
* harbour/source/compiler/genhrb.c
* harbour/source/compiler/gencobj.c
* harbour/source/compiler/genobj32.c
* harbour/source/compiler/genc.c
* harbour/source/rtl/gtchrmap.c
* harbour/source/vm/fm.c
* use hb_fopen() instead of fopen()
* include/hbsetup.h
- Removed HOST_OS_UNIX_COMPATIBLE which was a misleading
alias for OS_UNIX_COMPATIBLE.
* source/compiler/hbcomp.c
% HOST_OS_UNIX_COMPATIBLE -> OS_UNIX_COMPATIBLE
* common.mak
* harbour-ce-spec
* make_xmingw.sh
* make_xmingwce.sh
* makefile.bc
* makefile.gc
* makefile.vc
* source/pp/Makefile
- source/pp/ppgen.c
+ source/pp/hbppgen.c
! executable ppgen renamed to hbppgen.
* samples/pe/editorlo.c
* samples/pe/pe.prg
+ samples/pe/bld_b32.bat
+ Added BCC build batch file.
! Fixed to compile under current Harbour.
! Fixed filename casing.
! Fixed several warnings (quite some signedness problem still remain).
; This is a very nice editor written in C (Harbour callable),
I think it is the work of Ryszard.
* samples/hscript/bld_b32.bat
* samples/hscript/hscript.prg
* samples/hscript/dir.hs
* samples/hscript/multiply.hs
* samples/hscript/ugly.hs
* samples/hscript/hello.hs
! Fixed build batch file.
! Fixed to use NFLib file IO rather than libmisc, because
latter was broken (it is a clone of the NFLib file IO).
! Fixed scripts to use Start instead of Main as an entry
point otherwise __hrbRun() got confused and called the
app Main().
! Fixed some other problems to make it run.
* harbour/bin/hb-mkslib.sh
* harbour/bin/pack_src.sh
* updated for recent Viktor's modifications
* harbour/source/rtl/oemansix.c
! added missing #include "hbpai.h"
* harbour/include/Makefile
+ harbour/include/hbwince.h
* harbour/include/hbrdddbf.h
* harbour/include/hbrdddbt.h
* harbour/include/hbdefs.h
* harbour/include/hbsetup.h
* harbour/include/hbrddcdx.h
* harbour/include/hbrddfpt.h
* harbour/contrib/xhb/hboutdbg.c
* harbour/contrib/xhb/hbsyslog.c
* harbour/contrib/xhb/xhbfunc.c
* harbour/contrib/libct/ctnet.c
* harbour/contrib/libct/files.c
* harbour/contrib/libct/disk.c
* harbour/contrib/libnf/getenvrn.c
* harbour/contrib/win32/tprinter.c
* harbour/contrib/win32/w32_ole.c
* harbour/contrib/win32/w32_prn.c
* harbour/contrib/odbc/odbc.c
* harbour/source/pp/ppgen.c
* harbour/source/rtl/diskspac.c
* harbour/source/rtl/gtclip.c
* harbour/source/rtl/fstemp.c
* harbour/source/rtl/gtchrmap.c
* harbour/source/rtl/oemansi.c
* harbour/source/rtl/disksphb.c
* harbour/source/rtl/fssize.c
* harbour/source/rtl/hbffind.c
* harbour/source/rtl/filesys.c
* harbour/source/rtl/net.c
* harbour/source/rtl/gtgui/gtdef.c
* harbour/source/rtl/gtwvt/gtwvt.c
* harbour/source/rtl/gtpca/gtpca.c
* harbour/source/rtl/gtstd/gtstd.c
* harbour/source/rtl/gtwin/gtwin.c
* harbour/source/vm/Makefile
* harbour/source/vm/mainwin.c
* harbour/source/vm/dynlibhb.c
+ harbour/source/vm/mainwin/Makefile
* harbour/source/common/Makefile
* harbour/source/common/hbgete.c
* harbour/source/common/hbver.c
+ harbour/source/common/hbwince.c
* harbour/utils/hbpp/hbpp.c
* harbour/utils/hbdot/hbdot.prg
* harbour/utils/hbver/hbverfix.c
+ added support for WinCE and PocketPC
+ harbour/make_xcemgw.sh
+ harbour/config/w32/cemgw.cf
* harbour/bin/hb-mkslib.sh
* harbour/bin/hb-func.sh
* harbour/bin/postinst.sh
+ added support for CeGCC-MinGW32 port - those of you who want to
create applications for WinCE on PockePC with ARM processors on
Linux or MS-Windows can download from SF cegcc-mingw32ce port.
User using RPM based Linux distribution for x86 CPUs can simply
download cegcc-mingw32ce-0.50-1.i586.rpm and install it.
The hb* scripts created by ./make_xcemgw.sh [tgz|gnu] are
automatically updated to work with CeGCC-MinGW32 so later you
can simply crate WinCE-ARM binaries using them as for native port.
I'm waiting for users feedback. Please remember that I'm not Windows
user and even this port was created without any Pocket machine.
With Marek Paliwoda help I only tested that final applications are
working using PocketPC emulator.
* harbour/source/rtl/errorapi.c
+ added protection against possible GPF when some assign methods
were called without parameters
* harbour/source/rdd/workarea.c
* initialize uiFalgs also when DBS_FLAGS is not set
* harbour/contrib/bmdbfcdx/bmdbfcdx1.c
* fixed hb_cdxSkipFilter() declaration - it should be 'static' function
* harbour/source/pp/ppcore.c
* harbour/source/compiler/ppcomp.c
+ added support for changing all -k? switches by #pragma, f.e.;
#pragma -ks+
#pragma -kM-
#pragma -kx1
#pragma -kJ0
* harbour/source/compiler/hbusage.c
* changed -ks description
* harbour/include/hbexpra.c
* harbour/include/hbexprb.c
* do not generate error message for negative indexes and
[] operators are used for simple types when -ks option
is used
* harbour/include/hbvmpub.h
* harbour/include/hbapi.h
* harbour/source/vm/hvm.c
* harbour/source/vm/extend.c
* harbour/source/vm/itemapi.c
* harbour/source/vm/memvars.c
+ added HB_IT_DEFAULT flags - it allows to check if item was changed
* harbour/source/vm/memvars.c
* harbour/include/hbvm.h
! fixed HB_IT_MEMOFLAG updating to be Clipper compatible. Here we are
not Clipper compatible in one place: in clodeblock local parameters
with memo values are marked as MEMO but if you leave function where
codeblock were created then Clipper during detaching removes MEMO
flag. In Harbour memo flag is kept.
* harbour/include/hbvm.h
* harbour/source/vm/classes.c
* harbour/source/vm/hvm.c
% improved speed of extended references used for SETGET methods
and overloaded [] operators
* harbour/include/hbapi.h
* harbour/include/hbsetup.ch
* harbour/source/compiler/hbcomp.c
* harbour/source/vm/hvm.c
* harbour/source/vm/macro.c
* harbour/source/vm/cmdarg.c
* removed HB_COMPAT_XHB flags - only one HB_COMPAT_XHB still exist
in HVM in hashes.c - it will be removed soon.
* harbour/source/common/hbverdsp.c
* removed information about xHarbour compatibility mode - it's not
longer used. We are emulating xHarbour behavior using external
XHB library and standard compiler/HVM features
* harbour/contrib/xhb/xhb.ch
* harbour/contrib/xhb/xhbfunc.c
* harbour/source/vm/arrayshb.c
* moved XHB_AINS(), XHB_ADEL() from XHB lib to HVM as HB_AINS(), HB_ADEL()
* harbour/contrib/xhb/xhb.ch
+ added #pragma -ks+
+ added transaltion for hb_enumindex( <enumvar> )
+ harbour/contrib/xhb/xhbenum.c
+ added emulation for HB_EUMMINDEX()
* harbour/contrib/xhb/xhbfunc.c
* do not add INET*() function wrappers for DOS builds or when
HB_NO_DEFAULT_INET macro is set
* harbour/contrib/xhb/xhbmsgs.c
* added comment
* harbour/contrib/Makefile
+ added TIP and XHB
* harbour/make_rpm.sh
* harbour/harbour.spec
* removed HB_COMPAT_XHB, --with tip, --with xhb
they are not longer necessary
* harbour/include/hbpp.h
* harbour/include/hbcomp.h
* harbour/include/hbcompdf.h
* harbour/source/pp/ppcore.c
* harbour/source/rtl/gttrm/gttrm.c
* harbour/source/main/harbour.c
* harbour/source/compiler/hbmain.c
* harbour/source/compiler/cmdcheck.c
* harbour/source/compiler/hbcomp.c
* harbour/source/compiler/hbcmplib.c
* harbour/source/compiler/ppcomp.c
* added 'const' to some 'char *' declarations
+ added hb_pp_inBuffer()
+ extended hb_compMain() to accept source code passed as ASCIIZ
string
+ .prg function HB_COMPILEFROMBUF()
+ added support for -q2 compiler switch - it disables _ALL_ stdout/stderr
messages
* harbour/utils/Makefile
+ harbour/utils/hbdot
+ harbour/utils/hbdot/hbdot.prg
+ harbour/utils/hbdot/Makefile
+ added hbdot utility program.
It's a "DOt Prompt" Console for the Harbour Language
Syntax: hbdot [<hrbfile[.prg]> [<parameters,...>]]
It should look and work in similar way to pp/xBaseScript
by Ron Pinkas but unlike xBaseScript is does not have preprocessor
or simulated runtime environment but simply uses Harbour pp and
compiler libraries to preprocess and compile commands. It means
that it supports all language constructions also statements, f.e.:
"for i:=1 to 10; ? i; next"
Additionally it can also compile and execute .prg files given as
first parameter just like hbrun.
Please test it. If it will work as expected then we can remove
'pp' (contrib/dot) from standard packages
* harbour/contrib/libnf/at2.prg
* harbour/contrib/libnf/min2dhm.prg
* harbour/contrib/libnf/ontick.c
* harbour/contrib/libnf/sqzn.prg
* harbour/contrib/libnf/bytexor.prg
* harbour/contrib/libnf/asum.prg
* harbour/contrib/libnf/sleep.prg
* harbour/contrib/libnf/any2any.prg
* harbour/contrib/libnf/origin.c
* harbour/contrib/libnf/mouse.c
* harbour/contrib/libnf/stod.c
* harbour/contrib/libnf/vertmenu.prg
* harbour/contrib/libnf/aredit.prg
* harbour/contrib/libnf/n2color.c
* harbour/contrib/libnf/xbox.prg
* harbour/contrib/libnf/hex2dec.prg
* harbour/contrib/libnf/getver.c
* harbour/contrib/libnf/Makefile
* harbour/contrib/libnf/invclr.prg
* harbour/contrib/libnf/popadder.prg
* harbour/contrib/libnf/d2e.prg
* harbour/contrib/libnf/anomatch.prg
* harbour/contrib/libnf/color2n.c
* harbour/contrib/libnf/datecnfg.prg
* harbour/contrib/libnf/easter.prg
* harbour/contrib/libnf/ntow.prg
* harbour/contrib/libnf/floptst.prg
* harbour/contrib/libnf/pchr.prg
* harbour/contrib/libnf/tbwhile.prg
* harbour/contrib/libnf/e2d.prg
* harbour/contrib/libnf/sysmem.prg
* harbour/contrib/libnf/dfile.prg
* harbour/contrib/libnf/clrsel.prg
+ harbour/contrib/libnf/fttext.c
+ harbour/contrib/libnf/putkey.c
* basic cleanup and syncing with some of xHarbour fixes and extensions.
I'd like to ask Windows users to update non GNU make file
* harbour/source/pp/ppcore.c
+ added support for .T., .F., .Y., .N. in PP and #IF ... / #ELIF ...
expressions. It was reported by Nick Van Dyck on xHarbour devel list
that old PP supported it. I haven't known that old PP suported .T.
and .F. in #IF directive. Please not that there are other diferences
between new PP and the old one in expresions which can be used in
#IF ... / #ELIF directives. New PP supports C like expressions with
support for pseudo functions like defined(), operates on integer
numbers only to not damage 64bit values during conversion to double
and keep C compatible results (the old one used double values) and
is much more restrictive in checking for valid expression.
* harbour/include/hbcompdf.h
* harbour/source/compiler/harbour.yyc
* harbour/source/compiler/harbour.y
! fixed using LOOP inside SWITCH/CASE.../END statement
! fixed possible memory leeks when compile time error appear
with some unfinished LOOP statements
! do not push unnecessary NIL on HVM stack when SWITCH/CASE.../END
statement were used without OTHERWISE clause
* harbour/source/pp/ppcore.c
! do not calculate last line when it does not contain any character
* clear line number counter after preprocessing standard definitions/
rules - I hope it will make David happy ;-)
* harbour/include/hbgtinfo.ch
+ added GTI_ADDKEYMAP and GTI_DELKEYMAP
* harbour/include/hbapicdp.h
* harbour/source/rtl/cdpapi.c
+ added const to declarations of some function parameters
* harbour/include/hbgtcore.h
* harbour/source/rtl/Makefile
+ harbour/source/rtl/gtchrmap.c
* harbour/source/rtl/gtcrs/Makefile
- harbour/source/rtl/gtcrs/chrmap.c
* harbour/source/rtl/gtcrs/gtcrs.c
* harbour/source/rtl/gtcrs/gtcrs.h
* hb_gt_chrmapinit() common function now for different GT drivers
* minor cleanup in GTCRS code
* harbour/include/hbcompat.ch
+ added some new translation rules
* harbour/include/hbapi.h
* cleanup comment
* harbour/source/pp/ppcore.c
! fixed line numbering when errors are reported in different order
due to preprocessing extended code block
+ harbour/source/rtl/gttrm
+ harbour/source/rtl/gttrm/Makefile
+ harbour/source/rtl/gttrm/gttrm.c
+ added new GT driver - it's terminal driver like GTCRS and GTSLN
but it does not use any external library like [N]CURSES or SLANG
so it can be compiled in nearly all POSIX systems. It's not such
flexible like curses or slang base drivers because instead of
using termcap/terminfo databases to extract terminal capabilities
it uses some hard coded sequences for few terminals (now Linux, ANSI,
XTERM) but it should cover users requests in 95% of cases. Terminals
I tested are quite well supported (GTTRM works even better then GTCRS
or GTSLN and is much faster in full screen mode - 2-4 times).
I noticed that most terminal emulators works much better with GTTRM
then with GTCRS or GTSLN due to limited list of used escape sequences
so some minor differences in each terminal implementation are not
noticeable. GTTRM automatically detects ISO/UTF8 terminal mode and
chose valid output what should also help *nix users.
Now I would like to ask BSD and MacOSX users to test GTTRM in these
systems with pure text console and XWindow terminal emulators. I'm
interesting in any problems you may found.
* harbour/source/vm/hvm.c
+ added protection for possible GPF caused by wrong .prg code
* harbour/source/vm/maindllp.c
% store function addreses in static variables to improved execution
speed
+ added support for compilers which does not use "_" as function prefix
+ added support for using with harbour*.dll
* harbour/source/vm/memvars.c
+ added new method of detaching enumerators and array item references
covered by HB_COMPAT_XHB macro. xHarbour does not work in such way
but the final results are similar.
* harbour/source/vm/dynlibhb.c
+ added protection against passing wrong pointer items to HB_LIB*()
functions
* harbour/source/common/reserved.c
* cleaned warning
* harbour/bin/hb-func.sh
* harbour/config/hpux/global.cf
* harbour/config/darwin/global.cf
* harbour/config/linux/global.cf
* harbour/config/sunos/global.cf
* harbour/config/bsd/global.cf
+ added GTTRM to library list