* contrib/win32/w32_ole.c
! Fixed more direct item accesses.
Now only complicated cases remain.
2007-11-17 03:08 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* make_vcce.bat
* make_vcce.mak
! Minor corrections (syncing with existing files).
* doc/genhtm.bat
! Minor fix to make it work out of the box.
- Some obsolete stuff removed from it.
* include/hbapiitm.h
* include/hbapi.h
* source/vm/itemapi.c
+ Added hb_itemPutCLConst() which is the same as
hb_itemPutCConst() but the buffer length can be passed.
Same as xhb hb_itemPutCRawStatic().
+ contrib/xhb/hbcompat.h
+ Added C level compatibility header file.
* contrib/win32/w32_ole.c
! hb_itemPutCRawStatic() -> hb_itemPutCLConst()
! Some more xhb API calls changed to Harbour ones.
! TraceLog() -> HB_TRACE()
! HB_ITEM s_OleAuto -> PHB_ITEM s_pOleAuto
TOFIX (new): s_pOleAuto is not freed on app exit.
! Fixed a few more internal accesses by using API
calls.
; NOTE: There are four more complicated problems here
to be solved:
1) hb_stackSetActionRequest() call
2) Passing direct references to HB_ITEM .value
members to external functions.
3) Storing "hidden" information in string ITEMs
prepended after the strings' actual content.
4) Not freeing s_pOleAuto (this var BTW is used in
one static function only)
* source/rtl/hbinet.c
* source/rdd/dbcmd.c
! Changed some xhb C level API calls to Harbour ones.
* contrib/xhb/Makefile
* contrib/freeimage/Makefile
* contrib/apollo/Makefile
* contrib/firebird/Makefile
* contrib/libct/Makefile
* contrib/telepath/Makefile
* contrib/pgsql/Makefile
* contrib/gd/Makefile
* contrib/libnf/Makefile
* contrib/tip/Makefile
* contrib/adordd/Makefile
* contrib/rdd_ads/Makefile
* contrib/btree/Makefile
* contrib/samples/Makefile
* contrib/mysql/Makefile
* contrib/odbc/Makefile
* contrib/pdflib/Makefile
! Added C and Harbour public headers to GNU makefiles.
! Added one missing SVN header.
* contrib/pdflib/pdfhbdoc.ch
* contrib/pdflib/pdf.ch
! Added missing SVN headers.
- contrib/pdflib/pdflib.h
- Removed this file which belongs to the pdflib
package. This package is needed anyway to use
this contrib. (but the contrib is badly broken)
* contrib/pdflib/make_b32.bat
* contrib/pdflib/make_vc.bat
! Minor typo.
* source/rtl/persist.prg
! Prefixed static var name with "s_"
* make_vcce.bat
* make_vcce.mak
! Minor corrections (syncing with existing files).
* doc/genhtm.bat
! Minor fix to make it work out of the box.
- Some obsolete stuff removed from it.
* include/hbapiitm.h
* include/hbapi.h
* source/vm/itemapi.c
+ Added hb_itemPutCLConst() which is the same as
hb_itemPutCConst() but the buffer length can be passed.
Same as xhb hb_itemPutCRawStatic().
+ contrib/xhb/hbcompat.h
+ Added C level compatibility header file.
* contrib/win32/w32_ole.c
! hb_itemPutCRawStatic() -> hb_itemPutCLConst()
! Some more xhb API calls changed to Harbour ones.
! TraceLog() -> HB_TRACE()
! HB_ITEM s_OleAuto -> PHB_ITEM s_pOleAuto
TOFIX (new): s_pOleAuto is not freed on app exit.
! Fixed a few more internal accesses by using API
calls.
; NOTE: There are four more complicated problems here
to be solved:
1) hb_stackSetActionRequest() call
2) Passing direct references to HB_ITEM .value
members to external functions.
3) Storing "hidden" information in string ITEMs
prepended after the strings' actual content.
4) Not freeing s_pOleAuto (this var BTW is used in
one static function only)
* source/rtl/hbinet.c
* source/rdd/dbcmd.c
! Changed some xhb C level API calls to Harbour ones.
* contrib/xhb/Makefile
* contrib/freeimage/Makefile
* contrib/apollo/Makefile
* contrib/firebird/Makefile
* contrib/libct/Makefile
* contrib/telepath/Makefile
* contrib/pgsql/Makefile
* contrib/gd/Makefile
* contrib/libnf/Makefile
* contrib/tip/Makefile
* contrib/adordd/Makefile
* contrib/rdd_ads/Makefile
* contrib/btree/Makefile
* contrib/samples/Makefile
* contrib/mysql/Makefile
* contrib/odbc/Makefile
* contrib/pdflib/Makefile
! Added C and Harbour public headers to GNU makefiles.
! Added one missing SVN header.
* contrib/pdflib/pdfhbdoc.ch
* contrib/pdflib/pdf.ch
! Added missing SVN headers.
- contrib/pdflib/pdflib.h
- Removed this file which belongs to the pdflib
package. This package is needed anyway to use
this contrib. (but the contrib is badly broken)
* contrib/pdflib/make_b32.bat
* contrib/pdflib/make_vc.bat
! Minor typo.
* source/rtl/persist.prg
! Prefixed static var name with "s_"
* make_b32.mak
* make_vc.mak
! Fixed BC/VC make files to generated pptable.c in the obj
dir instead of source/pp.
! Synced BC/VC pptable.c dependencies with make_gcc.mak
; Suggested by Przemek.
* make_gcc.mak
! Fixed to not delete source/pp/pptable.c on clean
(since it's never generated there).
+ contrib/freeimage
+ contrib/freeimage/Makefile
+ contrib/freeimage/make_b32.bat
+ contrib/freeimage/make_vc.bat
+ contrib/freeimage/common.mak
+ contrib/freeimage/freeimage.ch
+ contrib/freeimage/fi_winfu.c
+ contrib/freeimage/fi_wrp.c
+ contrib/freeimage/readme.txt
+ contrib/freeimage/test
+ contrib/freeimage/test/bld_b32.bat
+ contrib/freeimage/test/fitest.prg
+ contrib/freeimage/test/sample1.jpg
+ contrib/freeimage/test/italia.gif
+ contrib/freeimage/test/fsg.jpg
+ contrib/freeimage/test/images_out
+ Added FreeImage OSS library Harbour interface.
! Some minor fixes and file rearrangements made.
+ Added std make files.
; TOFIX: There is still a potentially dangerous
warning to be fixed in FI_GETBACKGROUNDCOLOR()
; Borrowed from xhb.
; NOTE: The lib made some features available through the xhb
specific C struct functionality. Since such functionality
is not implemented in Harbour, the library would need
to be extened with some more wrappers to make C level
vars accessible from Harbour code. But even without
this functionality, the lib seems quite useful.
; NOTE: The lib also has some Windows specific
+ contrib/xhb/hbfast.h
+ Added this file to enhance C interface code compatibility
with xhb.
* contrib/firebird/*
! Fixed SVN properties.
+ contrib/firebird
+ contrib/firebird/Makefile
+ contrib/firebird/make_b32.bat
+ contrib/firebird/make_vc.bat
+ contrib/firebird/common.mak
+ contrib/firebird/tfirebird.prg
+ contrib/firebird/firebird.c
+ contrib/firebird/readme.txt
+ contrib/firebird/test
+ contrib/firebird/test/Makefile
+ contrib/firebird/test/bld_b32.bat
+ contrib/firebird/test/simple.prg
+ contrib/firebird/test/test.prg
+ contrib/firebird/test/stress.prg
+ contrib/firebird/test/testapi.c
+ Added firebird library, with some warnings and other
minor things fixed, and Harbour std non-GNU make / build
files added.
; TOFIX: There is still a potentially dangerous
warning to be fixed in FBGETBLOB().
* contrib/hbzlib/make_b32.bat
* contrib/hbzlib/make_vc.bat
! Fixed to not override C_USR set by user.
+ contrib/mysql/test
+ contrib/mysql/test/test.prg
- contrib/mysql/test.prg
* Moved test file to test dir.
* common.mak
* include/hbextern.ch
* source/rdd/Makefile
+ source/rdd/rddinfo.c
* source/rdd/dbcmd.c
+ source/rdd/dbdrop.c
+ source/rdd/dbcmd53.c
+ source/rdd/dbexists.c
+ source/rdd/fieldhb.c
! Moved away C53 functions to a separate file.
+ Added HB_RDDGETTEMPALIAS() as a documented version
of the long existing __RDDGETTEMPALIAS(). The latter
name still kept for compatibility.
! Moved away non-namespace conformant HB_EXTENSIONs
to separate files to cause less harm form those not
wanting these or already using these names in app
code.
+ Added HB_RDDINFO() namespace conformant version of
the RDDINFO() Harbour extension. RDDINFO() still works
but it's now defined in a separate file to cause less
potential harm.
- Removed HB_EXTENSION guards from around DBDROP(), DBEXISTS(),
RDDINFO(), FIELDLEN(), FIELDDEC(), FIELDTYPE() non namespace
conformant Harbour extensions.
; Przemek: I'm sorry you didn't bother to answer, so I
just can hope these address the problems you were having.
* source/rdd/sdf1.c
* source/rdd/delim1.c
! Removed two __XHARBOUR__ guards, by making the guarded
code the default. We have SET EOL support in Harbour now,
so this seems okey. If not, tell.
; TOFIX: We still have __XHARBOUR__ #defines in pp/ppcore.c
and debug/debugger.prg.
* include/hbsetup.ch
! HB_EXTENSION turned off.
* harbour/include/hbwince.h
* harbour/source/common/hbwince.c
* harbour/utils/hbver/hbverfix.c
* modified for clean compilation with POCC/XCC and ARM processors
* harbour/make_xmingwce.sh
! added -D__PLATFORM__Windows for non MS-Windows based hosts I
removed by mistake in previous commit
* harbour/bin/hb-mkslib.sh
* harbour/bin/hb-func.sh
* harbour/bin/postinst.sh
* in cross builds changed hb-mkslib.sh name to respect prefix used
by other hb* scripts (f.e. hbce or hbw) and set destination platform
to fixed value
* harbour/make_xmingwce.sh
* cleaned possible warning message when host computer is controlled
by MS-Windows cross build
! fixed harbour.exe and hbppgen.exe detecting in Windows
* harbour/common.mak
* harbour/source/codepage/Makefile
+ harbour/source/codepage/cpesmwin.c
- harbour/source/codepage/cpesmwi.c
* renamed
* harbour/source/rtl/cdpapi.c
! do not use '~' as accented character marker if neither ACCENTED_EQUAL
nor ACCENTED_INTERLEAVED is set - in some CPs '~' is a letter
! use '~' as accented character marker only if it exists in UPPER and
LOWER letter sets - our CP code cannot properly decode letter sets
when this condition is not true - it should be fixed (TOFIX)
! use '.' as multibyte character marker only if it exists in UPPER and
LOWER letter sets - our CP code cannot properly decode letter sets
when this condition is not true - it should be fixed (TOFIX)
* harbour/source/codepage/cpeldos.c
* harbour/source/codepage/cpelwin.c
* updated accent marker upper letters to be the same as in lower ones
Greek users should fix me.
* harbour/bin/hb-func.sh
* do not include gtwin in harbour.dll for MinGW-CE builds
gtwin can work only if additional (non standard) libraries
are installed in WinCE/PocketPC so it should not be part
of harbour.dll
* harbour/source/rtl/gtwin/gtwin.c
* removed HB_WINCE_USE_POCKET_CONSOLE macro
It's not longer necessary when gtwin is not part of harbour.dll
* harbour/make_xmingwce.sh
* harbour/make_xmingw.sh
* do not create compiler binaries in cross builds
* use hbce and hbw prefixes for generated build scripts
* harbour/make_tgz.sh
* use strip from cross compiler instead of native one
* harbour/include/Makefile
+ added missing header files
* harbour/harbour.spec
* minor cleanup
* harbour/source/compiler/cmdcheck.c
* accept internal option delimiters in define value
(-d option, f.e.: '-dABC="QWE-ASD"')
* contrib/odbc/odbc.c
! MSVC casting warnings silenced.
* utils/hbmake/hbmake.prg
! Fixed "$" used on array named s_cInvalidExt.
! Fixed to not include ct/tip/ctmt/tipmt in Harbour.
; The reports and fixes were provided by Bill Robertson.
* harbour/source/rtl/filesys.c
* do not redefine LongToHandle() for __XCC__ and __POCC__ WinCE builds
* harbour/utils/hbver/hbverfix.c
! fixed typos in previous commit
+ harbour/include/hbassert.h
* harbour/include/hb_io.h
* harbour/source/rtl/gtstd/gtstd.c
* harbour/source/rtl/gtpca/gtpca.c
* harbour/source/rtl/fssize.c
* harbour/source/rtl/hbinet.c
* harbour/source/rtl/filesys.c
* harbour/source/compiler/hbfix.c
* harbour/source/compiler/hbpcode.c
* harbour/source/compiler/hbdead.c
* harbour/source/compiler/genc.c
* harbour/source/compiler/hbopt.c
* harbour/source/compiler/gencc.c
* harbour/source/compiler/hblbl.c
* harbour/source/compiler/hbstripl.c
* harbour/utils/hbver/hbverfix.c
* harbour/utils/hbpp/hbppcore.c
* removed dependences to unsupported by new MSVC header files
most of this modifications can be enabled also for standard Win32
builds
* harbour/source/common/hbwince.c
* do not create dummy LocalLock() and LocalUnlock() function in MSVC
WinCE builds
* harbour/source/rtl/gtwin/gtwin.c
+ added HB_WINCE_USE_POCKET_CONSOLE macro which enable
console support in WINCE builds (macro suggested by Marek Paliwoda)
* harbour/source/rtl/gtwvt/gtwvt.h
* harbour/source/rtl/gtwvt/gtwvt.c
* changed default window and font size on WinCE to values suggested
by Marek Paliwoda
Marek if you have a while please make test with MSVC WinCE/PocketPC
builds and current SVN code.
* 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
* include/hbapi.h
+ Added xhb compatibility #define for hb_storclenAdopt()
(equivalent to Harbour's hb_storclen_buffer())
* contrib/xhb/hbcompat.ch
+ Added xhb IsDirectory() <-> hb_DirExists() translation.
Harbour version works using access(), while xhb version
does a filefind, so Harbour will return a more accurate
result more quickly, but it won't work with wildcards.
* source/rtl/persist.prg
% Using hb_StrShrink()
* common.mak
* utils/hbdoc/Makefile
* utils/hbdoc/ffile1.prg
* utils/hbdoc/genasc.prg
* utils/hbdoc/genchm.prg
* utils/hbdoc/genhtm.prg
* utils/hbdoc/genng.prg
* utils/hbdoc/genos2.prg
* utils/hbdoc/genpdf1.prg
* utils/hbdoc/genrtf.prg
* utils/hbdoc/gentrf.prg
* utils/hbdoc/hbdoc.prg
* utils/hbdoc/html.prg
* utils/hbdoc/ng.prg
* utils/hbdoc/os2.prg
* utils/hbdoc/rtf.prg
+ utils/hbdoc/teeasc.prg
+ Synced with xhb.
; Someone who uses this tool, pls test.
* common.mak
* utils/hbmake/Makefile
* utils/hbmake/ft_funcs.prg
* utils/hbmake/hbmake.prg
* utils/hbmake/hbmutils.prg
* utils/hbmake/pickarry.prg
* utils/hbmake/radios.prg
+ utils/hbmake/readline.c
+ utils/hbmake/tmake.prg
+ Synced with xhb.
; Someone who uses this tool, pls test.
* common.mak
* source/rtl/Makefile
+ source/rtl/getsys53.prg
* source/rtl/getsys.prg
+ source/rtl/secondfs.c
* source/rtl/seconds.c
+ source/rtl/mouse53.c
* source/rtl/mouseapi.c
+ Some C53 and FlagShip functions moved to separate source file.
* include/hbextern.ch
* common.mak
* source/rtl/Makefile
+ source/rtl/hbstrsh.c
* utils/hbtest/rt_stra.prg
+ Added hb_StrShrink(<cString>[,<nShrinkBy>]) -> cStringShrinked
<nShrinkBy> has a default value of 1. Returns empty string
on error, returns full string if <nShrinkBy> is zero or negative.
This function call is meant to be use instead of code like this:
cString := Left( cString, Len( cString ) - 1 ) ->
cString := hb_StrShrink( cString, 1 )
TODO: Maybe to support passing it by reference and make it even
faster.
+ Added regression tests for this function.
* contrib/mtpl.mak
* contrib/mtpl_b32.mak
* contrib/mtpl_vc.mak
+ Added support for HB_ROOT.
+ Now default HB_*_INSTALL dirs are set inside make files.
(to avoid manipulating these envvars on the batch file level)
* contrib/libmisc/make_b32.bat
* contrib/libmisc/make_vc.bat
- Removed HB_*_INSTALL manipulation from .bat files.
* contrib/hgf/win32/make_b32.bat
* contrib/hgf/win32/make_vc.bat
- contrib/hgf/win32/make_b32.mak
- contrib/hgf/win32/make_vc.mak
+ contrib/hgf/win32/common.mak
+ Now using contrib template make files.
* make_b32.bat
* make_vc.bat
* common.mak
! Moved HB_*_INSTALL defaulting to make file level.
+ contrib/ole
+ contrib/ole/common.mak
+ contrib/ole/oleauto.prg
+ contrib/ole/test/sample.odt
+ contrib/ole/test/testole.prg
+ contrib/ole/test/bld_b32.bat
+ contrib/ole/ole2.c
+ contrib/ole/make_b32.bat
+ contrib/ole/make_vc.bat
+ contrib/ole/Makefile
+ Restored "old" OLE implementation, as it was reported
by Mindaugas Kavaliaskuas that it works better in some
respects than the newer version in /contrib/win32.
Until we know further about the details there is no
reason to not have this contrib.
+ Added CreateObject() and GetActiveObject() to enhance
compatibility with newer implementation.
+ Standardized make files.
* test moved to test dir.
+ Added VC make file.
* contrib/win32/test/testole.prg
+ contrib/ole/test/testole.prg
+ The two test apps from the two OLE implementations
were merged and now they are the same. A quick look
shows differences when detecting the presence of
an OLE object. "old" OLE GPFs with "new" OLE method,
"new" OLE RTEs with "old" OLE method.
* pdflib/common.mak
* pdflib/pdf1.prg
* pdflib/pdfhbdocs.prg
* pdflib/pdfhbdoc.c
* pdflib/Makefile
! Removed GLOBAL requirement.
! Moved away C code inside .prg.
! Fixed some unused var warnings.
! Removed some unused stuff.
; Now there are clashing symbols. I suspect this is an
unfinished contrib, even in xhb.
* source/rtl/tpopup.prg
* source/rtl/ttopbar.prg
* source/rtl/tmenuitm.prg
! MENUITEM class :row and :col vars changed to
:__row and :__col, instead of adding HB_EXTENSION
guards to them, because they are needed internally.
* source/rtl/browse.prg
* source/rtl/tbrowse.prg
* Two mouse-wheel handling extensions now rather
guarded with HB_C52_STRICT.
* source/rtl/gete.c
! Fixed GETENV()/GETE() to return an empty string when
called with more than one parameter, to be fully
C5.x compatible.
* source/vm/proc.c
! PROCFILE() HB_EXTENSION guard changed to HB_C52_STRICT.
Since PROCFILE() is an undocumented function in C5.x
we can legally extend it in Harbour.
* include/hbsetup.ch
* Turned off HB_EXTENSION for the default build.
Now HB_EXTENSION covers all the extensions which
in some ways violates namespace rules or extends
functionality of existing CA-Cl*pper functions
or classes in an "invisible" (or "dirty") way, like
adding new parameters or accepting new types of parameters.
In case we want to keep some extended functionality
in the default build, we'll need to create new
function names. For class extensions, I'm not yet
sure what is the proper way to go.
In case of ML*() functions, I think they should respect
SET EOL instead of accepting EOL settings as parameters.
* source/rtl/tbrowse.prg
! Fixed to compile with HB_C52_STRICT.
* contrib/rdd_ads/make_vc.bat
* contrib/odbc/make_vc.bat
! Fixed .dll to .lib generation to work using GNU sed.
(now it doesn't need exports.sed anymore).
NOTE: I'm not sure if the batch tricks will work
on every flavour of Windows. It should for
W2K and above though, probably NT too.
! Fixed to pick .dlls from HB_DLL_DIR, which when not
defined points to system32 dir.
; I know "sed" dependency is not optimal, but we can remove
this later if we have better solution, until then
it cannot hurt and it's better than nothing.
"sed" is a free tool included in mingw32, cygwin,
and also downloadable as a self-contained .exe from
the gnuwin32 project:
http://gnuwin32.sourceforge.net/packages/sed.htm
Direct link to bin package:
http://gnuwin32.sourceforge.net/downlinks/sed-bin-zip.php
(it cannot hurt to have this in ones "utils" dir anyway :)
* contrib/odbc/make_b32.bat
- contrib/odbc/odbc32.def
- Removed .def file from repository. .lib have to
be generated from live .dll instead of this old
.def.
* include/std.ch
! SET STRICTREAD command definition fixed.
* include/hbextern.ch
! Fixed placement of MENUMODAL, to compile when HB_COMPAT_C53
is turned off.
* contrib/libmisc/Makefile
! Fixed test dir name. (broken since yesterday)
* contrib/pdflib/common.mak
+ Added another file.
+ contrib/pdflib/Makefile
+ Added GNU make file for pdflib.
* utils/hbdoc/ft_funcs.prg
* utils/hbmake/ft_funcs.prg
* utils/hbmake/hbmake.prg
! Made them compile with HB_COMPAT_C53 turned off.
There is a loss of functionality in this case.
(MAKEDIR(), DIRCHANGE() and @ CHECKBOX are used here)
* source/rtl/menuto.prg
* source/rtl/tgetlist.prg
! Fixed to compile when HB_COMPAT_C53 is turned off.
* include/hbextern.ch
* source/rtl/defpath.c
* source/rtl/adir.prg
* __DEFPATH() is now always included, not just when HB_C52_UNDOC
is defined, since we use this function from core, and __*()
functions are okey to be included without this guard.
DEFPATH() is still marked as HB_C52_UNDOC.
! ADIR() now uses __DEFPATH() instead of DEFPATH() to compile
with HB_C52_UNDOC turned off.
; TOFIX: There are still a few functions we use from core, which
are guarded with HB_C52_UNDOC: NATIONMSG(), ISNEGATIVE()
* source/vm/memvars.c
* Changed HB_EXTENSION to HB_C52_STRICT. Reason: This
is a Harbour internal (undocumented) function, where extension
is possible. CA-Cl*pper internal (undocumented) function __MRESTORE()
is mapped to this function, which is still okey. We could
create a fully CA-Cl*pper compatible, non-extended __MRESTORE()
without any trouble, if this is an issue.