19991111-05:39 GMT+1 Victor Szel * source/rtl/fm.c ! hb_xalloc() chaining bug fixed. ! hb_xrealloc() chaining bug fixed. - Removed the faulty handling of the hb_xrealloc() call with zero size, previously the memory block was considered freed but free() was never called. I think that until a free() call is not issued for an allocated block we should consider it allocated regardless of it's size. This way it's also faster and cleaner. % DeleteNode() moved to hb_xfree() since it's only used from one place now. % Casts removed from the non-FM_STATISTICS branches. 19991111-04:41 GMT+1 Victor Szel * source/rtl/fm.c ! hb_xrealloc() several things fixed (access to the pointer after reallocating it, uneccessary structure initializations, access to NULL pointers of failed or zero size realloc), RTL_TEST GPF fixed. ! Simplified, optimized and fixed the dump part. + TODO added about inconsistent hb_xrealloc() behaviour. + Size is shown in the dump. % strcpy( p, "" ) calls optimized. 19991111-01:18 GMT+1 Victor Szel * source/rtl/fm.c ! hb_xrealloc() check for a passed NULL pointer. ! hb_xrealloc() signature check moved before any MEMINFO usage. ! Explicit \n changed to hb_consoleGetNewLine() call. ! 256 buffer size for symbol names changed to HB_SYMBOL_NAME_LEN constant. ! Now the hb_xrealloc() is returning a NULL pointer (instead of trash) when the passed length is zero, and it's also freeing the pointer with free(). % hb_xrealloc() - pResult variable optimized out. * source/rtl/hbsetup.h + HB_SYMBOL_NAME_LEN constant added to set the maximum handled symbol name length in Harbour (both compiler/runtime), this can be set to any value by specifying C_USR=-DHB_SYMBOL_NAME_LEN=10 in the make process. TODO: Add support for the compiler to cut the symbols to this size on compile. This way the /10 switch may be replaced by this #define, since /10 works perfect when the RTL also "knows" about this limit, and is compiled using this limit. * include/hbtrace.h ! Every macro names prefixed with HB_ * source/vm/hvm.c ! Explicit buffer sizes are now determined using the HB_SYMBOL_NAME_LEN constant. They can't overrun anymore. * source/vm/dynsym.c % hb_dynsymGet(), hb_dynsymFindName() - Using local stack for temp symbol name buffer instead of hb_xgrab()/hb_xfree(). Some optimalizations. Now they will cut the symbol name to the HB_SYMBOL_NAME_LEN size, so by setting this to 10, we're 100% Cl*pper compatible from this respect. These functions are now faster. 19991110-23:20 GMT+1 Victor Szel * include/hbtrace.h % Excluded trace calls are converted to nohting instead of "do {} while 0" since the latter was generating jumps for MINGW32. This is now violating a -pedantic warning in GCC (duplicated ";"), so this may not be the perfect solution, but at least it doesn't generate any code. * source/rtl/fm.c ! Casts added. ! ulProcLine changed to USHORT. + Added signature support. + The whole mem tracing stuff can be excluded by a #define. + The memory trace info level is HB_TR_ERROR now, so that it gets logged by default. * tests/Makefile + fsplit.prg added. 19991110-20:45 WIB Andi Jahja * tests/fsplit.prg * Harbour file splitter 19991110-14:11 GMT+1 Victor Szel * include/hbsetup.h - Removed #defines which were previously moved to hbsetup.ch. * include/hbextern.ch source/runner/stdalone/external.prg + __PREPROCESS added as EXTERNAL 19991110-11:08 GMT+1 Bruno Cantero * include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/dbfcdx/dbfcdx1.c * Added __dbPack() function * tests/testdbf.prg * Added a test for __dbPack() function * source/rtl/dummy.prg * Removed __dbPack() function 19991109-17:20 EDT David G. Holm * source/rtl/filesys.c % Replaced several #if tests of three or more manifest constants with tests for new single manifest constants that are defined using just one instance of the multiple tests. The new manifest constants are: HB_FS_FILE_IO, HB_FS_SOPEN, and HB_FS_DRIVE_LETTER. This will lessen the chances of missing one instance when other compilers are added. % Replaced the use of PATH_MAX with _POSIX_PATH_MAX, which is always defined, even for non-Posix compliant compilers, and eliminated the PATH_MAX definition. Tue Nov 09 11:56:05 1999 Gonzalo A. Diethelm * include/hbsetup.h: * source/rtl/gt/gtsln.c: * source/rtl/gtxxx.c: * source/rtl/mousexxx.c: Added an initial implementation of GT over S-lang. * source/rtl/inkey.c: Changed the order in which the #ifdef/#endif checks are done, to make sure the curses and S-lang implementations are picked up correctly. * config/linux/gcc.cf: * config/w32/gcc.cf: * config/w32/mingw32.cf: Added initial support for easily switching between curses and slang. This could be vastly improved. * tests/testbrw.prg: Added a piece of code bound to K_TAB, just for the fun of it... 19991109-01:58 GMT+1 Victor Szel * samples/Makefile samples/cccppc/*.* + Fully CA-Clipper 5.x compatible PP written in Clipper added to the samples directory. It also has a special object system (SmallTalk like if I'm not mistaken), and it's a good test for the Harbour compiler. Note that Harbour can't yet compile it, due to hangs in several .PRG. (but it has an RMAKE makefile, so you can try it out) The .PPO files produced by this program are exactly the same as the ones produced by Clipper (with some really minor differences). Also note that this version may have some bugs, since the project was later rewritten and continued in C++, which is also Open Source, and you can find it at http://www.nexus.hu/cccpp/ This great contribution was made by Levente Csisz r 19991109-01:09 GMT+1 Victor Szel * source/rtl/filesys.c ! tell() changed to lseek() for Posix (tell() is not a Posix function) 19991108-23:41 GMT+1 Victor Szel * source/rtl/filesys.c % hb_fsWrite(), hb_fsReadLarge(), hb_fsWriteLarge() double var assigments optimized. * Some small cleanups. * tests/rtl_test.prg + Two new SOUNDEX() tests added. + FWRITE() tests for the truncate feature. * source/rtl/soundex.c ! SOUNDEX() - Fixed handling of accented/national characters. 19991108-09:25 GMT+1 Antonio Linares * source/rtl/classes.c * hb_clsRelease() modified. Still there is a problem with CLASSDATA ... INIT 19991108-07:38 GMT+1 Antonio Linares * source/rtl/classes.c * Arrays used for DATA ... INIT values, properly initalized. 19991107-19:24 GMT+1 Bruno Cantero * source/rdd/dbcmd.c * dbCreate(), fixed two bugs (mentioned by Victor). 19991106-01:30 EDT David G. Holm * include/filesys.h * source/rtl/filesys.c ! Proper optimization implemented for hb_fsReadLarge() and hb_fsWriteLarge(), as suggested by Victor Szel. 19991105-23:30 EDT David G. Holm * source/rtl/filesys.c ! Only truncate the file when the size of the write is zero bytes. 19991105-21:20 EDT David G. Holm * config/os2/icc.cf % Now that source/vm/main.c includes either mainstd.c or mainwin.c, reference main.obj instead of main$(HB_MAIN).obj when HB_MAIN is defined. * include/filesys.h ! Only use hb_fsReadLarge() and hb_fsWriteLarge() if the size of a ULONG is different from the size of a UINT (was USHORT, which is always going to be smaller than a ULONG). * source/common/hbtrace.c ! The hb_trace module uses strcmp(), which means that it has to include to keep C++ compilers happy. * source/rtl/filesys.c ! Only use hb_fsReadLarge() and hb_fsWriteLarge() if the size of a ULONG is different from the size of a UINT (was USHORT, which is always going to be smaller than a ULONG). * source/runner/stdalone/Makefile % IBM's Visual Age C++ compiler will not resolve main() from a library, so it is necessary to set HB_MAIN, if it isn't already set, so that icc.cf will know to include the main.obj module. 19991105-14:07 GMT+1 Ryszard Glab *source/rtl/codebloc.prg * memory occupied by detached local variables is properly released now 19991104-23:45 GMT+1 Victor Szel * source/rtl/filesys.c ! hb_fsSeek() now returns 0 instead of -1 on error, just like Clipper. % hb_fsSeek() double assigments removed. ! hb_fsLock() last error code handling fixed for some platforms. % hb_fsCommit() small simplification, double assignment removed. 19991104-14:30 EDT David G. Holm * source/pp/stdalone/hbpp.c ! Added third parameter (char *) to Hp_Parse() so that the Microsoft VC++ and IBM Visual Age C++ versions won't try to link in the hbppint module from the pp library. * source/rtl/mouse/mouseos2.c ! Changed the type of the static mouse handle variable from int to HMOU (for IBM Visual Age C++, but also works with GCC). Thu Nov 04 14:32:06 1999 Gonzalo A. Diethelm * source/common/hbtrace.c: * doc/tracing.txt: Added the possibility to direct tracing output to a file by specifying its name in the HB_TR_OUTPUT environment variable. The default is stderr. Thu Nov 04 13:49:23 1999 Gonzalo A. Diethelm * include/hbtrace.h: * source/common/hbtrace.c: * doc/tracing.txt: Implemented a better way of tracing with support for several levels (ALWAYS, FATAL, ERROR, WARNING, INFO and DEBUG), efficient compile-out of unwanted levels and level control using an environment variable at run-time. See doc/tracing.txt for detailed information. * source/pp/hbpp.c: * source/pp/hbppint.c: * source/pp/hbpplib.c: * source/pp/stdalone/hbpp.c: * source/rdd/dbcmd.c: * source/rdd/dbf1.c: * source/rdd/dbfcdx/dbfcdx1.c: * source/rtl/arrays.c: * source/rtl/classes.c: * source/rtl/codebloc.c: * source/rtl/console.c: * source/rtl/copyfile.c: * source/rtl/dates.c: * source/rtl/descend.c: * source/rtl/dir.c: * source/rtl/environ.c: * source/rtl/errorapi.c: * source/rtl/extend.c: * source/rtl/filesys.c: * source/rtl/fm.c: * source/rtl/gtapi.c: * source/rtl/hardcr.c: * source/rtl/inkey.c: * source/rtl/itemapi.c: * source/rtl/langapi.c: * source/rtl/math.c: * source/rtl/memvars.c: * source/rtl/mouseapi.c: * source/rtl/mtran.c: * source/rtl/natmsg.c: * source/rtl/samples.c: * source/rtl/set.c: * source/rtl/setcolor.c: * source/rtl/strings.c: * source/rtl/tone.c: * source/rtl/transfrm.c: * source/rtl/gt/gt_tpl.c: * source/rtl/gt/gtcrs.c: * source/rtl/gt/gtdos.c: * source/rtl/gt/gtos2.c: * source/rtl/gt/gtstd.c: * source/rtl/gt/gtwin.c: * source/runner/runlib.c: * source/tools/dates2.c: * source/tools/hb_f.c: * source/tools/strasint.c: * source/tools/stringsx.c: * source/vm/cmdarg.c: * source/vm/debug.c: * source/vm/dynsym.c: * source/vm/hvm.c: * source/vm/initsymb.c: * source/vm/mainstd.c: * source/vm/mainwin.c: Changed calls to HB_TRACE to incorporate the new level parameter. 19991103-22:38 GMT+1 Victor Szel * source/rtl/filesys.c % Nested #ifs converted to #elifs (hb_fsDelete(), hb_fsFile()) % Double assigments optimalized (convert_seek_flags(), hb_fsLock(), hb_fsFile()) * Code made more clear (hb_fsLock()) % Variable usage and assigments optimalized, made faster, smaller and simpler. FCREATE(), FREAD(), FWRITE(), FERASE(), FRENAME(), FSEEK(), FILE(), DIRCHANGE(), MAKEDIR(), DIRREMOVE() ! FREAD(), FWRITE() now calls hb_fsReadLarge() and hb_fsWriteLarge() instead of hb_fsRead() and hb_fsWrite(). Wed Nov 03 18:38:03 1999 Gonzalo A. Diethelm * tests/testbrdb.prg: The test now restores the color setting and does a CLS before exiting. * tests/testbrw.prg: The test now remembers its device position, cursor setting and color and restores everything before exiting. 19991103-07:28 GMT+1 Antonio Linares * source/rtl/classes.c * hb___msgSuper() simplied, faster and less memory consume. * source/rtl/arrays.c * bSuperCast is no longer checked. * source/vm/hvm.c * simpler after super casting process. * include/extend.h - BASEARRAY struct bSuperCast member removed. - BASEARRAY struct uiPrevCls member removed. + tests/clasinh.prg * New test added proving Super access does not generate unreleased memory blocks. 19991102-16:33 GMT+1 Antonio Linares * makefile.b32 * rdd.b32 * updated files provided by Jose Lalin 19991102-04:05 GMT+1 Antonio Linares * makefile.b32 * some files added. Alphabetical ordered. 19991101-11:53 GMT+3 Alexander Kresin * source/pp/hbpp.c * Fixed bug 19991101-10:10 GMT+3 Alexander Kresin * source/pp/hbpp.c * Fixed bug, reported by Antonio Linares 19991030-03:24 GMT+1 Victor Szel * tests/rtl_test.prg + Four new Pad*() tests added. * source/rtl/samples.c * Small optimalizations, formatting corrections. * source/rtl/dynsym.c % hb_strgreater() replaced with standard ANSI C function strcmp(), it's now a bit faster. * source/rtl/strings.c include/extend.h ! SUBSTR() bug fix in handling the error when the third parameter was not a string. (reported by Andi Jahja) - hb_strgreater() removed since it was same as strcmp() 19991028-22:30 EDT David G. Holm * source/rtl/inkey.c * source/rtl/gt/gtdos.c * source/rtl/gt/gtwin.c + Added Ctrl+Break support for DJGPP. % Unified Ctrl+Break handling by modifying DOS (non-DJGPP) and Windows GT API Ctrl+Break handlers to set a global flag that hb_inkeyPoll() checks before checking for keyboard input. Otherwise, if the program is in a keyboard input loop, a second key may have to be pressed after the "Cancelled at:" message is displayed before the program will actually quit. NOTE: The DOS Ctrl+Break handling needs to be refined to handle Ctrl+Break and Ctrl+C separately and to pass the Ctrl+C keyboard code on to the Harbour application. This requires handling BIOS INT 1B for the Ctrl+Break key and requires a lower level DOS INT 23 handler for the Ctrl+C handling than is provided by the C setbrk() function. * source/rtl/isprint.c + Added support for Borland C REGS structure. * source/rtl/samples.c ! Changed 'if( ulLen >= 0)' to read 'if( ulLen >= 1)' so that the string conversion for the hours value will only be done when there is at least one character in the source string. * tests/inkeytst.prg + If the "skip" command line parameter is set to "BREAK", then SETCANCEL() will be enabled, otherwise it will be disabled. 19991028-14:12 GMT+1 Bruno Cantero * source/rdd/dbcmd.c source/rdd/dbf1.c * dbCreate(), fixed a bug (mentioned by Victor). 19991027-17:24 GMT+1 Victor Szel * source/rtl/strings.c source/rtl/descend.c include/extend.h % hb_strEmpty(), hb_str*cmp() a few optimalizations. + Using const keyword for hb_str*() function parameters. * Small formatting, some Hungarian notations adjusted. + CHR() STRICT mode replaced with a comment, that the buggy Clipper behaviour should (or should not) be implemented in the Harbour compiler optimizer. - tests/hardcr.prg - tests/mtran.prg tests/Makefile + These test files has been removed, since they were moved to RTL_TEST * tests/rtl_test.prg * Some CHR() tests simplified, one added to show the buggy Clipper behaviour. + HARDCR(), MEMOTRAN() tests added. 19991027-16:57 GMT+1 Antonio Linares * source/vm/mainwin.c * added missing #includes. 19991027-13:55 GMT+3 Alexander Kresin * source/pp/hbpp.c * Fixed bugs, reported by Antonio Linares and Victor Szel * ( increased size of expnew in Searnrep() and expreal in WorkMarkers() ) * Added HB_TRACE to the new function ( PrevSquare() ) 19991027-02:25 GMT+1 Victor Szel * source/rtl/fm.c ! Fixed to display negative unreleased memory properly. * source/rtl/codebloc.c * Removed newline chars from HB_TRACE() calls. 19991026-19:55 EDT Paul Tucker * source/rtl/gt/gtwin.c * Added WINAPI to the handler func def. Tue Oct 26 17:16:43 1999 Gonzalo A. Diethelm * source/common/hbtrace.c: Now it is REALLY efficient; no copying, nothing. * source/rtl/codebloc.c: * source/rtl/dir.c: * source/rtl/filesys.c: * source/rtl/inkey.c: * source/rtl/memvars.c: * source/rtl/set.c: * source/vm/hvm.c: Got rid of other ways of tracing. Hopefully now HB_TRACE() is the only, standard way used in Harbour. * source/rtl/gt/gt_tpl.c: * source/rtl/gt/gtdos.c: * source/rtl/gt/gtos2.c: * source/rtl/gt/gtstd.c: * source/rtl/gt/gtwin.c: Made sure all the GT implementations (including the template) have proper HB_TRACE() calls. Tue Oct 26 13:20:46 1999 Gonzalo A. Diethelm * source/runner/runlib.c: Added HB_TRACE() calls to the RUNNER library. 19991026-18:10 GMT+1 Victor Szel * source/rtl/gt/gtwin.c + Ctrl+Break handler added for Win32 console mode, now Ctrl+Break will not break an application with SetCancel(.F.), and will terminate it with the proper message with SetCancel(.T.). INCOMPATIBILITY: With SetCancel(.F.) the inkey code 876 will be passed to Harbour which should be ignored and not returned by Inkey(). David, could you check this ? * source/rtl/gt/gtdos.c + Ctrl+Break handler added for DOS character mode. Please test this, since I could only test if it compiles. * tests/tstalias.prg + New alias related tests added. Tue Oct 26 13:11:19 1999 Gonzalo A. Diethelm * source/tools/dates2.c: * source/tools/hb_f.c: * source/tools/strasint.c: * source/tools/stringsx.c: Added HB_TRACE() calls to the TOOLS library. Tue Oct 26 12:55:49 1999 Gonzalo A. Diethelm * source/rdd/dbcmd.c: * source/rdd/dbf1.c: * source/rdd/dbfcdx/dbfcdx1.c: Added HB_TRACE() calls to the RDD library. Tue Oct 26 12:15:01 1999 Gonzalo A. Diethelm * source/vm/cmdarg.c: * source/vm/debug.c: * source/vm/dynsym.c: * source/vm/hvm.c: * source/vm/initsymb.c: * source/vm/mainstd.c: * source/vm/mainwin.c: Added HB_TRACE() calls to the VM. 19991026-14:07 GMT+1 Victor Szel * include/itemapi.h source/rtl/itemapi.c source/rtl/strings.c source/rtl/console.c + hb_itemString() made thread safe, while keeping the speed of previous non-thread safe version for most cases. * source/rtl/dates.c + NOTE added about the buffer size requirements of hb_dtoc() * source/vm/hvm.c + HB_TRACE() call added to the HB_P_LINE opcode. * source/rtl/strings.c ! hb_strncpyUpper() and hb_itemPadConv() HB_TRACE() calls now print the address of a buffer instead of the (uninitialized) content. * source/rtl/memvars.c ! bScope is now showed as a number instead of a char in HB_TRACE() call. 19991026-12:49 GMT+1 Bruno Cantero * source/rdd/dbf1.c tests/testdbf.prg * __dbZap() function finished. Test added for this function. 19991026-11:35 GMT+1 Victor Szel * source/tget.prg % New() will evaluate the setget only once instead of three times. ! New() fixed the picture generation for numeric values, decimals are detected for example. ! ::ColorSpec now defaults to the proper color. + ColorDisp() inline method added. ! Display() changed back to hide cursor while displaying ! Display() fixed to use ::ColorSpec instead of SetColor() ! Display() is now selecting the proper colors from the ::ColorSpec ! Display() color now depends on ::HasFocus ! SetFocus(), KillFocus() fixed to call ::Display(), like in Clipper. + Dummy methods added for not yet implemented ones, TODOs added. - "Message" DATA removed + Exported/Private MESSAGEs grouped. ! ToDecPos() fixed to redisplay and reposition the cursor. ! WordLeft(), WordRight() fixed to reposition the cursor. + Some TODOs and TOFIXs added. * source/rdd/dbstrux.prg source/rtl/dummy.prg + __FLEDIT() function added, guarded with STRICT, for collectors only ;) * source/rtl/oemansi.c - #include "winuser.h" removed, since I mitakenly left it there. * tests/rtl_test.prg + One line enabled, since the PP is processing it now without hang. 19991026-09:43 GMT+3 Alexander Kresin * source/pp/hbpp.c * Fixed bugs, reported by Antonio Linares and Victor Szel 19991025-23:35 EDT Paul Tucker * source/rtl/filesys.c * add casts on xgrab/free 19991025-18:15 EDT David G. Holm * include/hbwinapi.h - Removed '#define HARBOUR_USE_WIN', because includinging windows.h causes _Windows to be defined, so HARBOUR_USE_WIN is redundant. * harbour/source/pp/hbpp.c % Changed "non directive" warning to level 3. * harbour/source/pp/hbppint.c + Added include file and include file line number to warning messages. * harbour/source/rtl/inkey.c ! Moved HB_TRACE() call in hb_releaseCPU() to bottom of function, because variables are declared in #if blocks. - Changed '#ifdef HARBOUR_USE_WIN' to '#if defined(_Windows) || defined(WINNT)' (see include/hbwinapi.h for reason why). * harbour/source/rtl/oemansi.c ! Only include winuser.h when compiling for Windows. 19991025-23:12 GMT+1 Victor Szel * source/rtl/achoice.prg ! Fixed bound error on empty array. % Small optimalization. * source/rtl/filesys.c include/filesys.h ! CURDIR() was mistakenly marked a C53 function, but it was already there in CA-Cl*pper 5.2e. + hb_fsCurDirBuff() function added, which is thread safe. * hb_fsCurDir() is now calling hb_fsCurDirBuff(). + CURDIR() is now using the thread safe hb_fsCurDirBuff() instead of hb_fsCurDir(). + hb_fsCurDirBuff() now supports the "drive" parameter in WIN32/MINGW32. + hb_fsCurDirBuff() now strips the leading and trailing slashes from the directory, to be Clipper compatible. * source/tools/ctchksum.c * Small formatting. 19991025-12:30 EDT Paul Tucker * source/tools/ctchksum.c * added a cast * makefile.vc + source/tools/ctchksum.c 19991025-22:05 GMT+1 Bruno Cantero * source/rtl/dummy.prg - Removed __dbZap() function. * include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/dbfcdx/dbfcdx1.c * dbUseArea() now show the "Default" option in the alert box. + Added __dbZap() function (incomplete). 19991025-19:46 GMT+1 Victor Szel * source/rtl/filesys.c ! DISKSPACE(): Added support for Win32 platform. * ChangeLog + ChangeLog.004 * Old ChangeLog renamed to ChangeLog.004 * New ChangeLog created. * source/pp/pragma.c * contrib/dot/pp_harb.ch * tests/inline_c.prg * STOPDUMP renamed as ENDDUMP (with Ron permission) 2001-12-21 08:40 UTC-0300 Luiz Rafael Culik * utils/hbmake/hbmake.prg * small fix 2001-12-21 07:50 UTC-0300 Luiz Rafael Culik * source/rtl/filesys.c * hb_fsmkdir,hb_fsChdir,hb_fsRmdir,hb_fsDelete,hb_fsRename,hb_fsCurdirBuff() now use Win32 API calls * utils/hbmake/hbmake.prg ! Disabled profile * utils/hbmake/hbmutils.prg * An small clean up * ChangeLog * Renamed to ChangeLog.012 and started an new one 2006-02-15 13:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/hvm.c ! fixed memory leak I introduced changing Ryszard modifications need such functionality yet + harbour/ChangeLog.015 * harbour/source/vm/debug.c * harbour/harbour.spec * harbour/bin/hb-func.sh * some modification in xhb* scripts building - adding passing predefined compiler and linker switches * harbour/source/vm/hvm.c * minor code cleanup 2006-09-03 18:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapicls.h * harbour/source/vm/classes.c * harbour/source/vm/hvm.c * harbour/tests/overload.prg + added support for overloading [] in assignment operation 2006-09-03 16:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/ChangeLog + harbour/ChangeLog.016 * new ChangeLog file created * harbour/include/hbver.h * updated version number to 0.47.0 * tagged CVS as build47