Commit Graph

1663 Commits

Author SHA1 Message Date
Przemyslaw Czerpak
a95ca6ab8b 2008-05-16 19:26 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
  * harbour/include/hbcompdf.h
  * harbour/source/compiler/hbmain.c
  * harbour/source/compiler/complex.c
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyc
    ! moved function related variables and structures from HB_COMP to
      PFUNCTION - it fixes many different problems which can appear in
      some code, also the recent Mindaugas' example
    ! initialize statement value in error action to avoid valgrind/CodeGuard
      warning reports when syntax error appear in some complex statements

  * harbour/source/rtl/scrollbr.prg
    * repalced TAB with SPACEs
2008-05-16 17:27:20 +00:00
Viktor Szakats
e5c0ea79ba 2008-05-08 21:14 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* contrib/rddads/ads.ch
   * contrib/rddads/rddads.h
   * contrib/rddads/adsfunc.c
   * contrib/rddads/ads1.c
   * contrib/rddads/adsmgmnt.c
     * Lots of minor code cleanups, formatting fixes, optimizations, 
       and several minor fixes.
     ! Lib version related fixes. (some features were not updated 
       for newer ACE versions).
     + Automatic version detection extended with 6.20 and 5.00.
       6.00 is still missing, if someone has it, pls send it to 
       me. Even 6.11-8.00 versions disappeared from the vendor's 
       site lately.
     + Added support for all possible properties in
       ADSDDGETDATABASEPROPERTY()
       ADSDDSETDATABASEPROPERTY()
     * ADSMGGETUSERNAMES() will now always return an array of 
       users with 6 elements in each item, all data which 
       is not available for the compiled version of the lib, 
       will be filled with empty strings. Previously the 
       number of elements depended on the compiled version.
     ; Besides the above, no functionality change should be 
       experienced.
     ; Please test.

   * contrib/rddads/make_b32.bat
   * contrib/rddads/make_vc.bat
     ! Changed to never look for ace32.dll in system32 dir 
       to generate the ace32.lib.
     ! Some other fixes to prev change where ADS_VER 
       was obsoleted.

   * contrib/hbct/ctwfunc.c
   * contrib/hbct/ctextern.ch
     + Added hbct_MaxRow()/hbct_MaxCol() emulating 
       the original overloaded MaxRow()/MaxCol() 
       functions of CT3 lib.

   * source/rtl/maxrow.c
     * Reverted previous change on request, thus introducing 
       a 3rd party lib specific function parameter extension.
       Users of CT3 lib's overloaded MaxRow(.T.)/MaxCol(.T.) 
       functions are encouraged to change the app code 
       to rather use hbct_MaxRow()/hbct_MaxCol() 
       or hb_ScrMaxRow()/hbScrMaxCol(). These functions are 
       easy to implement in CA-Cl*pper too (simple wrappers 
       to Max*()).

   * source/compiler/hbmain.c
     * Reverted previous change on request. Some outputs 
       are not exactly CA-Cl*pper compatible this way, but 
       functionally it probably doesn't matter for most ppl.

   * contrib/xhb/hbcompat.ch
     ! Corrected MaxRow()/MaxCol()/hb_ScrMaxRow()/hb_ScrMaxCol()
       translations. (hopefully, someone using xhb please test)

   - tests/ctwtest.prg
   + contrib/hbct/tests/ctwtest.prg
     * Moved CT lib specific test to contrib local test 
       directory (containing lots of other CT tests 
       already). Building these is yet to be solved.

   * contrib/hbct/tests/math.prg
   * contrib/hbct/tests/trig.prg
   * contrib/hbct/tests/num1.prg
     ! Added SVN header.

   * include/hbgtinfo.ch
     * Minor comment.

   * contrib/rddads/make_gcc.sh
     * Help text sync with *.bat.
2008-05-08 19:26:20 +00:00
Viktor Szakats
53030631bf 2008-05-07 11:21 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* contrib/rddads/make_b32.bat
   * contrib/rddads/make_vc.bat
   * contrib/rddads/ads.ch
   * contrib/rddads/rddads.h
   * contrib/rddads/ads1.c
   * contrib/rddads/adsfunc.c
   * contrib/rddads/adsmgmnt.c
     + Added ACE version autodetection.
       You can override with: -DADS_LIB_VERSION=700 (and similar)
       (ADS_REQUIRE_VERSION still accepted for compatibility)
     ! Fixed a few lib version related problems.
     ! hMgmtHandle global renamed to ads_g_hMgmtHandle.
     * Formatting.

   * contrib/rddads/rddads.h
     + QUESTION: added about ADS_MAX_KEY_LENGTH redefinition.
       Is it needed?

   * source/compiler/hbmain.c
     * Changed output device (hb_compOutStd() -> hb_compOutErr()) 
       for following texts:
       "Compiling..."
       "No code generated"
       "Lines x, Functions/Procedures x"
       This is to replicate CA-Cl*pper behaviour a bit more.

   * include/hbextern.ch
   * common.mak
   * source/rtl/Makefile
   * source/rtl/maxrow.c
   + source/rtl/scrrow.c
   * contrib/xhb/hbcompat.ch
     + Added hb_ScrMaxRow(), hb_ScrMaxCol()
       These will return the screen dimensions regardless 
       of the size of an active window (when using CT 
       windows for example). Functionality is the same 
       as MaxRow(.T.) and MaxCol(.T.) previously.
     ! MaxRow()/MaxCol() extended parameters removed.
     + Added MaxRow(.T.)/MaxCol(.T.) conversions for 
       xhb lib (hbcompat.ch) in both directions.
     ; XBase++ doesn't have any extended parameters 
       for Max*() function. Flagship has two of them, 
       both of them doing something different. CAVO doesn't 
       have these functions at all.

   * contrib/xhb/hbcompat.ch
     ! GTI_* macros updated to HB_GTI_*.

   * source/vm/memvclip.c
     % Minor opt in __QQPUB().

   * source/vm/extend.c
     * 0 -> NULL

   * source/vm/estack.c
     - QUESTION removed.

   * source/lang/msgbgmik.c
   * source/rtl/console.c
   * source/rtl/philes.c
   * source/rtl/adir.prg
   * source/rtl/getsys53.prg
   * source/rtl/getsys.prg
   * source/rtl/tget.prg
   * source/rtl/ttopbar.prg
   * source/rtl/pushbtn.prg
   * source/rtl/mod.c
   * source/rtl/memofile.c
   * source/rtl/radiobtn.prg
   * source/rtl/filesys.c
   * source/rtl/tbrowse.prg
   * source/vm/estack.c
   * source/vm/itemapi.c
   * source/vm/hvm.c
   * source/vm/cmdarg.c
   * source/vm/fm.c
   * source/vm/eval.c
   * source/common/hbver.c
   * source/common/expropt2.c
   * utils/hbtest/hbtest.prg
   * utils/hbtest/rt_misc.prg
   * utils/hbtest/rt_str.prg
     ! Comment fixes and minor formatting.
2008-05-07 10:26:41 +00:00
Miguel Angel Marchuet Frutos
63c9ed7c80 2008-05-05 11:31 UTC+0100 Miguel Angel Marchuet Frutos <miguelangel@marchuet.net>
* include/hbmemory.ch
   * source/vm/fm.c
     + Added Memory( HB_MEM_BLOCKS )
2008-05-05 09:30:19 +00:00
Viktor Szakats
31d82e116c 2008-04-29 13:05 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* common.mak
   * source/rdd/Makefile
   * source/rdd/dbstrux.prg
   * source/rdd/rddord.prg
   + source/rdd/rddordu.prg
   + source/rdd/dbstruxu.prg
     + Moved some UNDOC functions to separate files.
     * Removed STRICT guard from _dtxCondSet().

   * include/hbextern.ch
     ! Added missing _dtxCondSet().

   * source/rtl/colorind.c
   * source/rtl/direct.c
     * Minor formatting.

   * source/vm/asort.c
     ! Changed one direct item access to item API call.

   * contrib/rddads/ads.ch
   * contrib/rddads/adsfunc.c
   * contrib/rddads/ads1.c
     ! Added support for ADS9 VFP file type and fields.
     ; Borrowed from xhb / Luiz Rafael Culik.
       (changed to compile using original - older - ADS headers)
     ; Please review & test.

   * source/vm/pcount.c
     % Minor opt.

   * contrib/hbtip/sendmail.prg
     ! SF bugtracker#1934698 fix applied. Thanks Chen.

   - contrib/hbapollo/tests/bld.bat
   * contrib/hbapollo/tests/bld_b32.bat
     % Using central bld.bat instead of modified local copy.

   + contrib/gtwvg/tests/bld_b32.bat
     + Added BCC32 build batch file for GTWVG tests.
     ; NOTE: demowvg still doesn't seem to work.
2008-04-29 11:08:12 +00:00
Viktor Szakats
322a643b37 2008-04-28 01:00 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* contrib/rdd_ads/adsfunc.c
     ! Fixed warning in ADSDIRECTORY() for ADS >= 9.00.

   * contrib/rdd_ads/adsfunc.c
   * contrib/rdd_ads/adsmgmnt.c
     + Added AdsIsEmpty( <cFieldName | nFieldPos> ) -> <lValue>
       With .adt tables will return .T. if value of the field is NULL.
       With .dbf it's just equivalent to Empty().
       (by Luis Krause Mantilla)
     + Added ADSMGGetOpenTables( nMaxNumberOfFilesToReturn, cUserName, nConnection )
     + Added ADSMGGetOpenIndexes( nMaxNumberOfFilesToReturn, cTableName, cUserName, nConnection )
       (by Antonio Carlos Pantaglione & Brian Hays)
     ; Changes borrowed from xhb, added minor optimization, formatting and warning fix.

   * include/hbclass.ch
     ! Comment typos.
2008-04-27 23:40:34 +00:00
Viktor Szakats
afe85d8f42 2008-04-26 07:53 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/tget.prg
     ! Fixed to not extend ::left(), ::right(), ::backspace(), 
       ::delete() with an internally used (but also externally 
       accessible) extra parameter. This is interface is now 
       made fully C5x compatible.

   * tests/rto_tb.prg
     ! Fixed to override __eInstVar53() (instead of _eInstVar())

   * include/hbextern.ch
   * common.mak
   * source/rdd/Makefile
   + source/rdd/dbcmdhb.c
     + Added non-internal versions of __dbPack() and __dbZap(), 
       named: hb_dbPack() and hb_dbZap(). If group needs it I 
       can add dbPack() and dbZap() too in separate files to 
       lessen the problem of name collision with app code.

   * source/rtl/inkey.c
     * Formatting.
     + HB_KEYPUT(): Now possible to pass an array with string elements.
       (see feature in xhb/__KEYBOARD())
     * HB_KEYPUT(): For string parameter it now uses hb_inkeySetText()
       API, rather than a loop of hb_inkeyPut()s.

   * contrib/xhb/xhbfunc.c
     ! xhb flavour of __KEYBOARD() sync fixed. (hb_inkeySetText() got 
       extended in xhb, so here we're using hb_inkeyPut() for single 
       numeric key codes).
     ; Now same code is used as in HB_KEYPUT().

   * source/vm/memvars.c
   * source/vm/hvm.c
   * source/vm/arrayshb.c
     + Added HB_C52_STRICT branches for the remaining RTEs 
       which produced different results in hbtest.
     ! Fixed HB_C52_STRICT RTE for AFill().
     ; NOTE: It's not possible to build Harbour currently when 
             HB_C52_STRICT, so it's not easy to test these.

   * include/hbclass.ch
     ! Typos.

   * source/rtl/memoedit.prg
   * source/rtl/achoice.prg
   * source/rtl/treport.prg
     * Formatting.

   * source/rtl/tobject.prg
     * Formatting.
     % Minor opt.
2008-04-26 06:39:37 +00:00
Viktor Szakats
8ae412529f 2008-04-24 10:51 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* include/memoedit.ch
   * source/rtl/memoedit.prg
     ! XPP feature marked with HB_COMPAT_XPP.
     ! Fixed to not crash if user callback function 
       returns non-numeric type.
2008-04-24 08:52:57 +00:00
Przemyslaw Czerpak
8a6e4ecdff 2008-04-22 20:41 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbclass.ch
  * harbour/include/hbcomp.h
  * harbour/source/compiler/hbmain.c
  * harbour/source/compiler/harbour.yyc
  * harbour/source/compiler/harbour.y
    ! fixed -w3 warnings when class name is different then function name
    * allow to overwrite predefined classes definitions
      it's a dirty hack but current implementation of predefined
      function and class declarations has to be rewritten from scratch
      in the future so I make it intentionally - at least it resolves
      some memory leaks like: harbour -n -w3 tbcolumn.prg

  * harbour/config/rules.cf
  * harbour/make_b32.mak
  * harbour/make_gcc.mak
  * harbour/make_vc.mak
  * harbour/make_vcce.mak
  * harbour/contrib/mtpl_b32.mak
  * harbour/contrib/mtpl_gcc.mak
  * harbour/contrib/mtpl_vc.mak
    * changed default Harbour compiler switch -w2 to -w3

  * harbour/contrib/xhb/xhbcomp.prg
    * replaced repeated declarations by small hack

  * harbour/utils/hbmake/tmake.prg
    ! fixed reported by -w3 repeated aDir declaration

  * harbour/source/rtl/tbrowse.prg
    * calculate frozen area size for 5-th element of array returned
      by xbase++ compatible method :viewArea(). Viktor please check me.
      If you can also describe what exactly TOFIX in :firstScrCol()
      and :viewArea() means then maybe I can help - I do not have
      xbase++ so I do not know what should be fixed.
2008-04-22 18:42:38 +00:00
Przemyslaw Czerpak
05dd30df9b 2008-04-22 04:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapicls.h
  * harbour/source/vm/classes.c
    + added new function hb_dbgObjSendMessage() which allows to
      call messages with given given execution context for proper
      scope checking

  * harbour/source/debug/dbgentry.c
    + added HB_DBG_SENDMSG() for calling messages with given execution
      context

  * harbour/source/debug/dbgtobj.prg
    * removed all __obj*() function calls
    * use HB_DBG_SENDMSG() to access/assign object variables
    ! fixed default value in GET operation called from object
      inspector to always show current object variable value
    ! fixed set for object variables which hold value: "Method"
      they were recognized as method
      Now object variables can be inspected by debugger.
      If object has multiple private messages with the same name
      inherited from parent classes then their context will be
      dynamically changed depending on position in currently
      debugged code.
2008-04-22 02:51:18 +00:00
Viktor Szakats
026c5720f3 2008-04-21 15:02 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* common.mak
   * include/hbextern.ch
   * source/rtl/Makefile
   * source/rtl/checkbox.prg
   * source/rtl/einstvar.prg
   + source/rtl/einstv52.prg
   * source/rtl/listbox.prg
   * source/rtl/pushbtn.prg
   * source/rtl/radiobtn.prg
   * source/rtl/radiogrp.prg
   * source/rtl/tbcolumn.prg
   * source/rtl/tbrowse.prg
   * source/rtl/tget.prg
   * source/rtl/tmenuitm.prg
   * source/rtl/tpopup.prg
   * source/rtl/ttopbar.prg
     ! _eInstVar() made compatible with C5.2 in C5.2 mode.
     * Renamed _eInstVar52() -> __eInstVar52()
       (Harbour internal function namespace)
     * Renamed _eInstVar53() -> __eInstVar53()
       (Harbour internal function namespace)
     * __eInstVar52() moved to a separate file.
     * Harbour now uses __eInstVar53() internally.

   - make_os2_gcc.cmd
   + make_gnu_os2.cmd
     * Renamed to align the filename with the rest of the 
       GNU make command files. Content unchanged.

   TODO: TGET test case for my vtgetlst problem.
   TODO: TGET fix for the above.
2008-04-21 13:14:35 +00:00
Viktor Szakats
b007d20e6b 2008-04-21 14:48 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* tests/rto_get.prg
   * tests/rto_tb.prg
     + Added more tests.
     + Enabled object as array results by default.
     + More details for TGet test results.

   * bin/bld_os2.cmd
     ! Fixed lib names. Thanks David.

   * source/rtl/tobject.prg
     * Formatting.

   * source/rtl/tget.prg
     ! Delimiter colors in C5.3 mode made compatible.
     ! ::colorSpec handling in C5.3 mode made compatible 
       for some invalid parameter types.
     ! Fixed handling decimals in :row, :col, :pos 
       methods.
     ! Fixed to compile in C5.2 mode without warning
       (introduced in recent commit).

   * source/rtl/tbrowse.prg
     ! Fixed handling decimals in :nTop, :nBottom, :nLeft, :nRight.
     + Added unfinished XPP method :viewArea()
     + Added untested XPP method :firstScrCol()
     ; Few minor formatting.

   * include/hbextern.ch
   * source/rtl/einstvar.prg
     + Added _eInstVar52() which is the C5.2 compatible version 
       of this function. It also replicates a bug.
     * _eInstVar() renamed to _eInstVar53().
     * _eInstVar() made a stub to call _eInstVar53().

   * source/rtl/checkbox.prg
   * source/rtl/listbox.prg
   * source/rtl/pushbtn.prg
   * source/rtl/radiobtn.prg
   * source/rtl/radiogrp.prg
   * source/rtl/scrollbr.prg
   * source/rtl/symbol.prg
   * source/rtl/teditor.prg
   * source/rtl/tget.prg
   * source/rtl/tget1.prg
   * source/rtl/tgetlist.prg
   * source/rtl/tmenuitm.prg
   * source/rtl/tmenusys.prg
   * source/rtl/tpopup.prg
   * source/rtl/ttopbar.prg
     * Formatting (EXPORT: -> EXPORTED:)

   * contrib/hbtip/thtml.prg
   * contrib/hbtip/ftpcln.prg
     ! Fixed to work regardless of SET EXACT setting.
     ; NOTE: I'd suggest an optional compiler warning 
             to detect plain "=" usage. It's bad practice 
             in most cases.

   TODO: make_os2_gcc.cmd -> make_gcc_os2.cmd
   TODO: TGET test case for my vtgetlst problem.
   TODO: TGET fix for the above.
   TODO: _eInstVar() -> _eInstVar53()
2008-04-21 12:56:13 +00:00
Przemyslaw Czerpak
9ad3e8b2eb 2008-04-18 01:41 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapigt.h
  * harbour/source/rtl/gtapi.c
    ! changed USHORT hb_gtColorToN( char * szColorString ) to
      int hb_gtColorToN( char * szColorString ) - it should be the same
      type as indexes in hb_gtColorsToString() functions

  * harbour/source/rtl/hbgtcore.c
    * return -1 from COLORNUM() method when passed color is not
      valid color string

  * harbour/contrib/hbct/screen2.c
  * harbour/contrib/hbct/color.c
  * harbour/contrib/hbct/screen1.c
  * harbour/contrib/hbct/ctwfunc.c
  * harbour/contrib/hbnf/color2n.c
  * harbour/contrib/gtwvg/wvtcore.c
    * updated to respect -1 returned for wrong color strings

  * harbour/source/rtl/tget.prg
    * updated to respect -1 returned for wrong color strings
      Viktor please check me, now it's simpler and hbtest does not
      reports any errors so I guess that this version will work like
      in Clipper also for :colorSpec := "R,X,Y,0" or similar

  * harbour/source/rtl/tobject.prg
  * harbour/source/debug/dbgbrwsr.prg
    * formatting
2008-04-17 23:42:21 +00:00
Viktor Szakats
cb966c280e 2008-04-17 03:53 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
   * source/rtl/errorapi.c
     + Added ERRORINHAN() (and alias ERRORINHANDLER()) CA-Cl*pper 
       compatible, undocumented function, guarded with HB_C52_UNDOC.
       Same as Harbour __ERRINHANDLER().

   * source/rtl/trim.c
   * source/rtl/strtran.c
     + Added strict branches for incompatible error messages.
     % Minor optimization in STRTRAN() parameter checking.

   * utils/hbtest/rt_str.prg
     + Reenabled two C53-only test calls.

   * include/hbdefs.h
     ! Minor indentation fix.

   * utils/hbdoc/hbdoc.prg
   * utils/hbdot/hbdot.prg
   * utils/hbmake/hbmake.prg
   * utils/hbpp/hbpp.c
   * utils/hbtest/hbtest.prg
   * utils/hbrun/hbrun.prg
     ! Year updated in copyright banners.
2008-04-17 02:02:02 +00:00
Przemyslaw Czerpak
f181406951 2008-04-16 14:41 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbclass.ch
    ! removed:
         MESSAGE <msgName> IS <mthName>
      used as synonym of:
         MESSAGE <msgName> METHOD <mthName>
      If someone was using the removed version then please update the
      code to MESSAGE ... METHOD ...
      The removed command has special meaning in Class(y) and it allow
      to define alternate names for existing messages. I'll add support
      for them in the future.

  * harbour/contrib/hbct/ctwin.c
    * added disabled code which is a workaround for some possible
      bad side effect caused by online shadow showing by CTWIN.

  * harbour/source/rtl/errorint.c
    ! fixed displaying internal error message

  * harbour/source/common/hbver.c
    * added "Rev." prefix to shown revision number

  * harbour/include/hbexprop.h
  * harbour/include/hbexprb.c
  * harbour/source/common/expropt1.c
  * harbour/source/common/expropt2.c
    + added hb_compExprReduceNegate()
    ! fixed wrong negate optimizations for platforms where HB_LONG_MAX
      is smaller then -HB_LONG_MIN, f.e. all x86 based CPUs.
    ! fixed setting the size in optimized negative numbers
    ! fixed some math optimizations to not use casting to double value
      when it's not necessary - when double precision is smaller then HB_LONG
      (f.e. on x86 it's 53 bits and HB_LONG has 64bit) such casting can damage
      up to 11 less significant bits in big 64 bit numbers.

  * harbour/source/rtl/hbinet.c
    * replaced MAKEWORD() macro with HB_MKWORD() to pacify BCC58 warnings

  * harbour/include/hbdefs.h
    + added #include <limits.h>
      It should hide some warnings related to redefined integer size constants
      Viktor if it will not help for BCC58 warnings then you will have to add
         #include <stdint.h>
      few lines below but please remember that older BCC version does not
      have it so check for the exact compiler version.
    ! changed macros which setting default numeric item size for more strict
      Clipper compatible mode. I'm not a fun of some Clipper behavior in
      calculating number size and I left some notes about it in hbdefs.h
      Anyhow this and some other modifications below should cover the
      differences you've found recently. Some things are not addressed by
      me intentionally, f.e. _itemPutNL() in Clipper always set size to 10
      without checking the maximum size so it's too small for values less
      then -999999999. Harbour compiler makes more compile time optimizations
      then Clipper. The formatting rules used by compiler are a little bit
      different then by VM so this can be source of some other differences
      to Clipper. I can easy create some examples. Harbour supports 64bit
      signed integers and Clipper doesn't. This is yet another situation
      when we may have different results then Clipper. Most of them can
      be hidden if we add new PCODE(s) for integer number with explicit
      size but I do not think it's such important to increase PCODE list.
      In few cases it will be necessary to disable some optimizations at
      all and I do not like it. In the future when I will be adding some
      new optimizations I also add compiler switch to disable/enable
      optimizations which can have such side effects for people who need
      strict formatting.

  * harbour/include/hbvmpub.h
  * harbour/source/common/hbstr.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/itemapi.c
  * harbour/source/rtl/round.c
    * updated for more Clipper compatible number formating using new macros
2008-04-16 12:42:05 +00:00
Przemyslaw Czerpak
bf68197ca0 2008-04-09 20:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* 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.
2008-04-09 18:44:03 +00:00
Przemyslaw Czerpak
117324bc6a 2008-03-25 12:26 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/common.mak
  * harbour/source/lang/Makefile
  + harbour/source/lang/msgskiso.c
  + harbour/source/lang/msgskwin.c
  + harbour/source/lang/msgskkam.c
  + harbour/source/lang/msgsk852.c
    + added Slovak national messages by Gyula Bartal - many thanks

  * harbour/include/hbapi.h
  * harbour/source/vm/arrays.c
    ! Guarded hb_arraySetNLL() declaration with #ifndef HB_LONG_LONG_OFF.
    ! Fixed trace in hb_arraySetNInt().
      By Phil Krylov borrowed from xHarbour

  * harbour/include/hbgtcore.h
    ! added missing HB_EXTERN_BEGIN / HB_EXTERN_END
      By Ron Pinkas borrowed from xHarbour

  * harbour/source/rtl/gtos2/gtos2.c
    % updated for much faster screen updating in OS2 console - many
      thanks for Maurilio Longo for tests and code.

  * harbour/source/rtl/cdpapi.c
    ! fixed CP string translation for CPs with accented equal characters
    + added HB_UTF8CHR( <nUniVal> ) -> <cUtf8Char>
      It's compatible with the function HB_UTF8CHR() by Phil Krylov in
      xHarbour

  * harbour/source/rtl/gtsln/gtsln.h
    * removed repeated #include <unistd.h>

  * harbour/contrib/hbct/files.c
    ! fixed FILESEEK() called with 3-rd parameter set to .T. (exact
      attribute match)

  * harbour/config/os2/global.cf
    ! added fixes by David Arturo Macias Corona

  + harbour/make_os2_gcc.cmd
    + added build file for GCC OS2 users with minimal environment settings
2008-03-25 11:27:04 +00:00
Przemyslaw Czerpak
cf69097383 2008-03-12 17:43 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/source/common/hbver.c
  * harbour/source/rtl/gttone.c
    * added hb_iswince() and fixed TONE() for WinCE

  * harbour/source/rtl/math.c
    ! added workaround for SIGFPE platforms which generate it instead of
      setting errno during execution of math functions

  * harbour/source/rtl/gtcrs/hb-charmap.def
    ! remap 0x9b (155) to '.' in Linux terminals - it's control code

  * harbour/source/rdd/dbsql.c
  * harbour/source/rdd/workarea.c
  * harbour/source/rdd/dbf1.c
    ! always restore current workarea in WA EVAL() method
    ! always use EVAL() method for user codeblocks and macros

  * harbour/source/rdd/dbcmd.c
    ! fixed DBRELATION() called without numeric parameters or with 0 to
      return first relation expression (Clipper compatible)

  * harbour/contrib/hbtip/thtml.prg
    ! fixed wrongly ported to Harbour xHarbour specific code

  * harbour/source/common/hbstr.c
    + added missing const in one declaration
    * formatting

  * harbour/source/rtl/transfrm.c
    ! fixed casting for C++ compilers

  * harbour/source/rtl/errorapi.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
    ! cleanup warnings

  * harbour/source/common/hbtrace.c
  * harbour/source/rdd/dbcmdx.c
  * harbour/source/rdd/wafunc.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/source/rdd/hbsix/sxcrypt.c
    * formatting
2008-03-12 16:44:16 +00:00
Przemyslaw Czerpak
09566a5c88 2008-03-10 13:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapifs.h
    ! default usage of BSD locks in *BSD systems for emulating
      DOS/Windows DENY_* flags has been disabled because tests
      on FreeBSD 6.2 and MacOSX shows that this implementation
      can create self deadlock when used simultaneously with
      POSIX locks - thanks to Phil and Lorenzo for locating the
      problem and tests.
2008-03-10 12:10:39 +00:00
Przemyslaw Czerpak
9cb4e6047d 2008-03-05 19:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbct/screen2.c
    ! fixed possible vary bad bug (memory buffer overflow) in SCREENSTR()

  * harbour/source/rtl/hbffind.c
    ! fixed possible GPF in some *nixes

  * harbour/source/vm/classes.c
    ! do not execute the same destructor inherited from different parent
      classes more then once

  * harbour/source/rtl/transfrm.c
    ! fixed bug with '9' used as stop condition of function pattern
      this character cannot be stripped, f.e.:
        ? transform( "abc", "@_99*" )
    ! fixed bug with '*' or '$' used with @), f.e.:
        ? transform( -12345, "@) $999999" )
    ! fixed replacing '.' with ',' when @E is used without picture part, f.e.:
        ? transform( 123.45, "@E" )
    ! fixed ',' conversions
        ? transform( 12.34,"@E ab,cd.ef9,9.99,.--" )
    ! fixed bug with picture starting with ".", f.e.:
	? transform( 0.3456, ".999" )
    ! fixed "@(" and "@)" conversions, f.e.:
        ? transform( -12345, "@) 1999*999" )
    ! fixed late oveflow detection in "@(" and "@)", f.e.:
        ? transtest( -12345, "@( 6798^999" )
    ! fixed "@E" conversion for dates to keep user delimiters set in
      _SET_DATEFORMAT, f.e.:
        set( _SET_DATEFORMAT, "mm:dd:yyyy" ); ? transform( date(), "@E" )
        set( _SET_DATEFORMAT, "yyyy<mm>dd" ); ? transform( date(), "@E" )
      Please note that Harbour is not strictly Clipper compatible here
      because it respects _SET_DATEFORMAT set by user.
    ! fixed 64bit integer conversion by eliminating conversion to
      'double' f.e.:
        ? transform(  1234567890123456789, "99999999999999999999" )
        ? transform( -1234567890123456789, "99999999999999999999" )
    ! some other fixes, see regression test transtst.prg
    % speed improvement in numeric conversions

  + harbour/tests/transtst.prg
    + added regression test for transform function

  * harbour/utils/hbtest/rt_trans.prg
    * disabled transform() tests for "@E" and result smaller then 5 bytes
      CA-Cl*pper do not check result size and always exchanges
      bytes 1-2 with bytes 4-5 for @E conversion. It's buffer overflow
      bug and I do not want to replicate it inside our transform
      implementation. It also causes that the results for for strings
      smaller then 5 bytes behaves randomly.
      In fact precise tests can show that it's not random behavior
      but CA-Cl*pper uses static buffer for result and when current one
      is smaller then 5 bytes then first two bytes are replaced with
      4-5 bytes from previous result which was length enough, f.e.:
               ? transform( "0123456789", "" )
               ? transform( "AB", "@E" )
               ? transform( "ab", "@E" )
      Replicating exact CA-Cl*pper behavior it's trivial (it will be enough
      to use static buffer two and not check the size of current result) but
      IMHO it's bug.

  * harbour/source/rtl/round.c
    * added strictly Clipper compatible code covered by HB_C52_STRICT
      and comment about possible difference in Harbour.

  * harbour/include/hbgtinfo.ch
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/gtxwc/gtxwc.c
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/rtl/gttrm/gttrm.c
  * harbour/source/rtl/gtwvt/gtwvt.c
    + added HB_GTI_ISUNICODE - it returns logical value with information
      about Unicode mode in active GT driver - it's necessary for proper
      CP initialization in some GTDs which can work in both mode depending
      on client side settings

  * harbour/source/rtl/gttrm/gttrm.c
    * improved UTF-8 detection
    * added automatic PuTTY detection
    * improved PuTTY and some xterm key handling
    * added some missing RXVT keys
2008-03-05 18:10:52 +00:00
Przemyslaw Czerpak
64fe300fc3 2008-02-16 11:28 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbdate.h
    ! fixed limitation which forced to use hbdate.h after hbapi.h
      or hbdefs.h
2008-02-16 10:28:25 +00:00
Przemyslaw Czerpak
25231721f9 2008-02-08 15:58 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
  * harbour/include/hbmacro.h
  * harbour/include/hbexprb.c
  * harbour/source/vm/macro.c
  * harbour/source/compiler/hbmain.c
    ! fixed name conflict in privates/publics declaration.
      Harbour allows to declare memvars with the same name as file
      wide statics or fields but this extensions was not working well
      in some cases and can cause unexpected results in variable
      declaration, f.e. try this code:
               static v:="static"
               proc main()
                  public v:="public"
                  ? v, M->v
               return
      compiled with -n -w switches and also with -n -w -a before
      this fix.
    ! fixed some compile time warnings in memvars declaration to be
      more Clipper compatible
    ! fixed compiling external modules (DO <procname> [WITH <params,...>])
      when function <procname> is already declared but with different
      letter case. Harbour does not convert <procname> in DO statement
      to upper case to play well with case sensitive file systems and
      it could cause confusing warning message:
         Cannot open <procname>.prg, assumed external

  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyc
    ! added protection against bug in bison destructors which might cause
      multiple free the same memory block on syntax error due to 

  * harbour/source/rdd/dbf1.c
    ! added missing binary flag for daytime fields

  * harbour/source/rdd/dbfntx/dbfntx1.c
    ! fixed possible memory leak during accessing corrupted NTX files
    ! fixed possible GPF during accessing corrupted NTX files

  * harbour/source/compiler/genc.c
    * minor cleanup

  * harbour/config/os2/global.cf
    ! use FOR command to delete group of files
2008-02-08 14:58:26 +00:00
Przemyslaw Czerpak
419e6e8e04 2008-02-04 09:31 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/harbour.spec
  * harbour/harbour-ce-spec
  * harbour/harbour-w32-spec
    * updated for new library names

  * harbour/ChangeLog
  * harbour/include/hbexprb.c
    * formatting

  * harbour/source/rtl/net.c
    ! fixed casting

  * harbour/harbour.spec
  * harbour/harbour-ce-spec
  * harbour/harbour-w32-spec
  * harbour/contrib/Makefile
    * removed hbzlib - it cannot be longer part of default build
      because Viktor removed zlib header files. Viktor sorry but
      IMHO you should revert it and also restore ace.h - it creates
      serious problems without any valuable addition. Now we will
      have to rebuild Harbour on many different platforms and often
      it will not be possible to install some libraries. We cannot
      force installing additional libs by people who will create
      binaries for incoming releases so it's important to revert
      it. Please do it.

  * harbour/config/bsd/install.cf
  * harbour/config/darwin/install.cf
  * harbour/config/hpux/install.cf
  * harbour/config/linux/install.cf
  * harbour/config/sunos/install.cf
  * harbour/config/dos/install.cf
  * harbour/config/os2/install.cf
  * harbour/config/w32/install.cf
    * redirected echo error messages to stderr when *sh shell is used

  * harbour/config/lib.cf
  * harbour/config/bin.cf
  * harbour/config/global.cf
  * harbour/config/hpux/gcc.cf
  * harbour/config/hpux/global.cf
  * harbour/config/darwin/gcc.cf
  * harbour/config/darwin/global.cf
  * harbour/config/dos/owatcom.cf
  * harbour/config/dos/global.cf
  * harbour/config/dos/rsx32.cf
  * harbour/config/global.cf
  * harbour/config/linux/owatcom.cf
  * harbour/config/linux/global.cf
  * harbour/config/os2/gcc.cf
  * harbour/config/os2/global.cf
  * harbour/config/sunos/gcc.cf
  * harbour/config/sunos/global.cf
  * harbour/config/bsd/global.cf
  * harbour/config/w32/owatcom.cf
  * harbour/config/w32/bcc32.cf
  * harbour/config/w32/gcc.cf
  * harbour/config/w32/rsxnt.cf
  * harbour/config/w32/global.cf
    ! fixed build process. DOS and WINDOWS users should make tests for
      different compilers. I tested only DOS-OpenWatcom, DOS-DJGPP,
      W32-BCC32, W32-OpenWatcom, W32-POCC, W32-XCC and corss builds
      W32-MinGW, W32-MinGW-CE. OS2 version not testes at all - I hope
      it will work. LINUX-GCC, LINUX-G++, LINUX-OpenWatcom, BSD-GCC,
      HPUX-GCC tested and they are working. I hope that SunOS version
      also works though I do not have any solaris installation where
      I can make real tests.
2008-02-04 08:32:17 +00:00
Viktor Szakats
7ca09e1942 2008-02-02 02:13 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapicdp.h
   * common.mak
   * source/codepage/Makefile
   + source/codepage/uc1252.c
   + source/codepage/cpdewin.c
   + source/codepage/cpruiso.c
     + Added RUISO (Russian ISO-8859-5) and DEWIN (German CP1252, actually
       identical to DEISO) codepages and a CP1252<->Unicode table.
       Borrowed from Phil Krylov (xhb).
2008-02-02 01:14:17 +00:00
Viktor Szakats
b5ae06cc09 2008-01-31 17:40 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* bin/hb-func.sh
     + Updated for lib name change.
       Please test & review.

   * source/rtl/net.c
   * include/hbapi.h
     + Added hb_netname() and hb_username() low level versions 
       of NETNAME() and hb_USERNAME().
2008-01-31 16:48:02 +00:00
Viktor Szakats
8a5c03a538 2008-01-31 16:32 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
   * source/rtl/net.c
   * contrib/xhb/hbcompat.ch
     ! Removed non-compatible xhb extension from NetName().
     + hb_UserName() function added with the above functionality.
     ! Slight correction to the Win32 branch of hb_UserName().
     + Added compatibility translations to NetName(1) for 
       xhb lib users (enough to #include "hbcompat.ch").
2008-01-31 15:46:59 +00:00
Viktor Szakats
eb89862ecf 2008-01-28 12:10 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapierr.h
   * source/rtl/errorapi.c
     ! Removed HB_ERR_SS_TOOLS non-core #define (formerly used by 
       /contrib/hbct from core header.
     ! Removed non-core related error API call hb_errRT_TOOLS()
       (functionality was similar to hb_errRT_BASE())

   * contrib/hbct/ctnet.c
     ! Fixed RTE calls to use unique IDs instead of 9999.
       Subcode changed to 0 from 999.

   * utils/hbpp/hbpplib.c
     ! Replaced RTE code 9999 with 1001.
2008-01-28 11:12:35 +00:00
Viktor Szakats
a92f87015d 2008-01-26 06:27 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* tests/gfx.prg
   * tests/wcecon.prg
   * tests/gtchars.prg
   * tests/gtkeys.prg
   * include/hbgtinfo.ch
   * source/rtl/hbgtcore.c
   * source/rtl/gtkbstat.c
   * source/rtl/gtdos/gtdos.c
   * source/rtl/gtwin/gtwin.c
   * source/rtl/gtxwc/gtxwc.c
   * source/rtl/gtos2/gtos2.c
   * source/rtl/gtcrs/gtcrs.c
   * source/rtl/gtalleg/gtalleg.c
   * source/rtl/gtstd/gtstd.c
   * source/rtl/gtsln/gtsln.c
   * source/rtl/gttrm/gttrm.c
   * source/rtl/gtpca/gtpca.c
   * source/rtl/gtgui/gtgui.c
   * source/rtl/gtcgi/gtcgi.c
   * source/rtl/gtwvt/gtwvt.c
   * contrib/hbgtwvg/gtwvg.c
     ! Some minor formatting to the .ch file. Removed 
       reference to non-existing doc/gtinfo.txt.
     * Using HB_GTI_* instead of GTI_* in Harbour files.
2008-01-26 05:29:20 +00:00
Viktor Szakats
b9c3cbccfc 2008-01-25 21:27 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* 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.
2008-01-25 20:40:49 +00:00
Przemyslaw Czerpak
da6f8a212c 2008-01-23 02:24 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbrddntx.h
    ! fixed type of Signature field in tag structure

  * harbour/source/rdd/dbfntx/dbfntx1.c
    ! fixed possible leaving locked index when number of tags
      exceed 63. 63 is maximum number of tags in multi tag NTX
      file
    ! fixed typo in HB_TRACE message
    % simplify NTXNODE data access in RDDINFO method

  * harbour/source/rdd/dbfcdx/dbfcdx1.c
    * formatting, some minor cleanup and fixed typo in comment
2008-01-23 01:24:48 +00:00
Przemyslaw Czerpak
ad374294bd 2008-01-15 10:31 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbdefs.h
    ! do not define [U]LONGLONG when HB_DONT_DEFINE_BASIC_TYPES macro
      is set
2008-01-15 09:31:22 +00:00
Przemyslaw Czerpak
74e6b4f63f 2008-01-12 13:19 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/ChangeLog
  * harbour/include/hbapiitm.h
  * harbour/source/vm/itemapi.c
    - removed hb_itemLockReadCPtr()/hb_itemLockWriteCPtr()/hb_itemUnLockCPtr()
      Whole modification which will address all different aspects it to
      complex to introduce it now. I'll return to this problem after
      1.0 release
2008-01-12 12:20:12 +00:00
Przemyslaw Czerpak
2c5bb1c719 2008-01-11 18:13 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbexprb.c
    * removed unused variable
2008-01-11 17:13:51 +00:00
Przemyslaw Czerpak
3611daa5a2 2008-01-11 18:01 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapiitm.h
  * harbour/source/vm/itemapi.c
    + added new functions:
         BOOL hb_itemParamStore( USHORT uiParam, PHB_ITEM pItem )
         BOOL hb_itemParamStoreForward( USHORT uiParam, PHB_ITEM pItem )
      They copy/move pItem body to parameter passed by reference and
      return TRUE when operation was done successfully (uiParam was passed
      by reference)
    + added new functions for string manipulation:
         char * hb_itemLockReadCPtr( PHB_ITEM pItem, ULONG * pulLen );
         char * hb_itemLockWriteCPtr( PHB_ITEM pItem, ULONG * pulLen );
         void   hb_itemUnLockCPtr( char * pszString );
      It's recommended to use them instead of hb_itemGetCPtr().
      Pointer to string buffer returned by hb_itemLockReadCPtr() will
      be always valid even if source item will be cleared, destroyed or
      overwritten until hb_itemUnLockCPtr() is called. Each locked string
      has to be unlocked to avoid memory leaks. After unlocking the string
      pointer cannot be longer used.
      hb_itemLockWriteCPtr() works like hb_itemLockReadCPtr() but string
      pointer returned by this function is writable so user can change
      the body of string item. It's the _ONLY_ one way when it's possible.
      Modifying string items using pointers returned by hb_parc() or
      hb_itemGetCPtr() or extracted directly from HB_ITEM body is _FORBIDDEN_
      and can cause unpredictable results (GPF when constant/readonly memory
      pages are changed, changing many different items which share the same
      memory buffer, etc.).
      This is code illustrates how to use hb_itemLockReadCPtr()/
      hb_itemUnLockCPtr() and it's also good example why hb_itemGetCPtr()
      is very danger function and cannot be used in such case - if you
      replace hb_itemLockReadCPtr() with hb_itemGetCPtr() and remove
      hb_itemUnLockCPtr() then you will have buggy code.

         HB_FUNC( MYFUNC )
         {
            PHB_ITEM pObject = hb_param( 1, HB_IT_OBJECT )
            if( pObject )
            {
               char * pszName1, * pszName2;
               PHB_ITEM pResult;

               pResult = hb_objSendMsg( pObject, "POP", 0 );
               pszName1 = hb_itemLockReadCPtr( pResult, NULL );
               pResult = hb_objSendMsg( pObject, "POP", 0 );
               pszName2 = hb_itemLockReadCPtr( pResult, NULL );
               if( pszName1 && pszName2 )
                  hb_retc_buffer( hb_xstrcpy( NULL,
                              "[", pszName1, "]-[", pszName2, "]", NULL ) );
               hb_itemUnLockCPtr( pszName1 );
               hb_itemUnLockCPtr( pszName2 );
            }
         }

      This code shows how to use hb_itemLockWriteCPtr():
         proc main()
            local cVal, cVal2
            cVal := cVal2 := "ABC"
            STRPUT( @cVal2, 2, 42 )
            ? cVal, cVal2
         return
         #pragma begindump
         #include "hbapiitm.h"
         HB_FUNC( STRPUT )
         {
            PHB_ITEM pString = hb_param( 1, HB_IT_STRING );
            ULONG ulAt = hb_parnl( 2 );
            if( pString && ulAt && ISNUM( 3 ) )
            {
               ULONG ulLen;
               char * pszValue;
               pszValue = hb_itemLockWriteCPtr( pString, &ulLen );
               if( pszValue )
               {
                  if( ulAt <= ulLen )
                     pszValue[ ulAt - 1 ] = ( char ) hb_parni( 3 );
                  hb_itemUnLockCPtr( pszValue );
               }
            }
         }
         #pragma enddump

  * harbour/include/hbcompdf.h
  * harbour/include/hbexprop.h
  * harbour/include/hbexprb.c
  * harbour/source/compiler/hbmain.c
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/compiler/hbusage.c
    * removed HB_I18N_SUPPORT macro and enabled I18N code in default build
2008-01-11 17:01:34 +00:00
Mindaugas Kavaliauskas
40d7f55063 2008-01-11 17:32 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/include/hbexprb.c
  * harbour/source/compiler/hbmain.c
    ! added string escaping before to i18n .pot files
    + added hb_i18n_gettext_strict() support for compiler. This function 
      generates warning if argument is not literal string. See discussion 
      on mailing list from 2007-11-23 to 2007-11-29, for details.
2008-01-11 15:30:31 +00:00
Przemyslaw Czerpak
4d9930caa6 2008-01-09 15:03 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* 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
2008-01-09 14:04:12 +00:00
Viktor Szakats
8ceb521c43 restored unwanted modification 2008-01-08 18:37:10 +00:00
Viktor Szakats
995b647af4 2008-01-08 19:31 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbclass.ch
     ! Enabling HB_CLS_NO_DECORATION if compiled with HB_C52_STRICT, 
       since in strict mode some PP extensions required by the 
       decoration feature are not available.
       (Thanks Przemek for the tip)
2008-01-08 18:36:06 +00:00
Przemyslaw Czerpak
11f489338e 2007-12-22 11:28 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-mkslib.sh
    + added -fPIC to GCC parameters - it's necessary on some platforms
    + use .sl suffix for shared library in HP-UX

  * harbour/bin/hb-func.sh
    + use .sl suffix for shared library in HP-UX

  * harbour/bin/postinst.bat
    * removed < > from email address

  * harbour/include/hbgtcore.h
  * harbour/source/rtl/gtkeycod.c
  * harbour/source/rtl/gtdos/gtdos.c
  * harbour/source/rtl/gtos2/gtos2.c
  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gtpca/gtpca.c
    * fixed typo in function name - it should be hb_gt_dos_keyCodeTranslate()
      not hb_gt_dos_keyCodeTanslate()

  * harbour/make_tgz.sh
    * updated for non GNU tar versions

  * harbour/ChangeLog
    * replaced TABs with SPACEs
2007-12-22 10:28:28 +00:00
Przemyslaw Czerpak
609f24e2e4 2007-12-20 11:44 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/common.mak
  * harbour/source/rtl/Makefile
  * harbour/include/hbgtcore.h
  + harbour/source/rtl/gtkeycod.c
    + added hb_gt_dos_keyCodeTanslate() - based on hb_gt_ReadKey()
      from GTDOS by David G. Holm <dholm@jsd-llc.com>

  * harbour/source/rtl/gtdos/gtdos.c
  * harbour/source/rtl/gtos2/gtos2.c
  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gtpca/gtpca.c
    * use hb_gt_dos_keyCodeTanslate() to eliminate repeated code

  * harbour/contrib/hbrddads/Makefile
  * harbour/contrib/hbpgsql/Makefile
    * updated code to locate directories with header files

  * harbour/source/rtl/hbini.prg
    ! fixed typo in HB_IniRead()

  * harbour/source/rtl/persist.prg
    ! eliminated internal static variable
2007-12-20 10:45:01 +00:00
Przemyslaw Czerpak
ed89a813a2 2007-12-19 13:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbmath.h
  * harbour/source/rtl/math.c
    * cleaned matherr API, now it works in the same way on all
      platforms - this modification fixes also some strange
      results when math functions were called with wrong arguments
      on some platforms

  * harbour/contrib/hbct/trig.c
  * harbour/contrib/hbct/finan.c
  * harbour/contrib/hbct/ctmath2.c
    * updated for new matherr API and cleaned some minor problems

  * harbour/contrib/hbct/files.c
    ! use DATE and TIME parameters formated like for DOS in OS2
      version of SETFDATI() - David,  if possible please repeat
      the test from my previous commit, thank you.
2007-12-19 12:05:59 +00:00
Przemyslaw Czerpak
3a934f0ae8 2007-12-18 11:17 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/ChangeLog
    * reverted conversion to UTF8 of national characters (svn diff)

  * harbour/include/hbdate.h
  * harbour/source/common/hbdate.c
    + added hb_timeStrGet()

  * harbour/contrib/hbct/files.c
    * use hb_timeStrGet() instead of sscanf()
    + added OS2 version of SETFDATI() - please test it !!!
      I'm interesting in results of this code compiled with OS2
      Harbour build:
         proc main()
            local cFile:="_tst.tmp"
            FCLOSE(FCREATE(cFile))
            ? FILEDATE(cFile), FILETIME(cFile)
            ? SETFDATI(cFile,STOD("20061129"),"12:34:45")
            ? FILEDATE(cFile), FILETIME(cFile)
            ? SETFDATI(cFile)
            ? FILEDATE(cFile), FILETIME(cFile)
            FERASE(cFile)
         return
2007-12-18 10:18:02 +00:00
Przemyslaw Czerpak
cb47250bfc 2007-12-17 21:21 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapigt.h
  * harbour/include/hbgtcore.h
  * harbour/source/rtl/gtapi.c
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/gt_tpl/gt_tpl.c
  * harbour/source/rtl/gtdos/gtdos.c
  * harbour/source/rtl/gtwin/gtwin.c
  * harbour/source/rtl/gtxwc/gtxwc.c
  * harbour/source/rtl/gtos2/gtos2.c
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/rtl/gttrm/gttrm.c
  * harbour/source/rtl/gtpca/gtpca.c
  * harbour/source/rtl/gtgui/gtgui.c
  * harbour/source/rtl/gtwvt/gtwvt.c
  * harbour/source/rtl/gtcgi/gtcgi.c
  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/contrib/hbct/ctwin.c
  * harbour/contrib/hbgtwvg/gtwvg.c
  * harbour/source/rtl/gtalleg/gtalleg.c
  * harbour/source/rtl/gtalleg/ssf.h
  * harbour/source/rtl/gtalleg/fixedth.sfc
    * added missing const to few declarations
    * formatting and minor code cleanup

  * harbour/source/rtl/hbgtcore.c
    ! fixed GTNUL registration

  * harbour/source/rtl/gtcgi/gtcgi.c
  * harbour/source/rtl/gtstd/gtstd.c
    * moved static variables to dynamic GT area

  * harbour/contrib/hbct/files.c
    ! fixed DOS version
2007-12-17 20:22:32 +00:00
Przemyslaw Czerpak
b30055548c 2007-12-16 13:32 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/common/hbfsapi.c
    + added OS2 version of hb_fsFileExists() and hb_fsDirExists()
      Please test - I do not have OS2

  * harbour/source/rdd/dbf1.c
    ! removed unnecessary printf() message I left by mistake

  * harbour/contrib/hbct/files.c
    + added OS2 version of SETFATTR()
      Please test - I do not have OS2

  * harbour/config/os2/global.cf
    + added temporary workaround for possible problems with some
      GNU make versions

  * harbour/make_deb.sh
    + build hbpgsql when libpq-dev is installed

  * harbour/include/clipdefs.h
    * do not define PBYTE, PSHORT, PUSHORT, PLONG, PULONG, PBOOL, PVOID
      when HB_OS_OS2 && HB_DONT_DEFINE_BASIC_TYPES is defined
2007-12-16 12:32:41 +00:00
Przemyslaw Czerpak
8469a5d29c 2007-12-13 16:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapigt.h
  * harbour/source/rtl/gtapi.c
    ! fixed DISPCOUNT() return value
    * cleaned some GT functions declarations
2007-12-13 15:55:56 +00:00
Przemyslaw Czerpak
1b46d933d7 2007-12-07 10:43 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbgtcore.h
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/gtapi.c
  * harbour/source/rtl/inkeyapi.c
  * harbour/source/rtl/mouseapi.c
    - removed hb_gt_*(), hb_inkey_*(), hb_mouse_*() functions
    + implemented HB_GTSELF_*() functions and changed HB_GTSUPER_*()
      ones to operate on GT context passed ad 1-st parameter.
      Now GT API allows to create many GTs working simultaneously
    + added hb_gt_Base() core function which returns GT context
      it will be extended soon to allow using many GT contexts,
      setting thread default one or switch between them using some
      .prg function.

  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gtcgi/gtcgi.c
  * harbour/source/rtl/gtpca/gtpca.c
  * harbour/source/rtl/gttrm/gttrm.c
  * harbour/source/rtl/gtxwc/gtxwc.c
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/gtcrs/gtcrs.h
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/rtl/gtsln/gtsln.h
  * harbour/source/rtl/gtsln/kbsln.c
  * harbour/source/rtl/gtsln/mousesln.c
  * harbour/source/rtl/gtalleg/gtalleg.c
  * harbour/source/rtl/gtgui/gtgui.c
  * harbour/source/rtl/gtwin/gtwin.c
  * harbour/source/rtl/gtwvt/gtwvt.h
  * harbour/source/rtl/gtwvt/gtwvt.c
  * harbour/contrib/hbct/ctwin.c
  * harbour/contrib/hbct/ctwin.h
  * harbour/contrib/hbct/ctwfunc.c
  * harbour/contrib/hbgtwvg/gtwvt.h
  * harbour/contrib/hbgtwvg/gtwvt.c
    * updated GT code for new GT API. I still haven't added GT cloning
      to them and only GTTRM is ready to use in multi window MT programs
      but now they can be systematically modified and it can be done
      locally without core code modifications.

  * harbour/contrib/hbgtwvg/wvtutils.c
    ! fixed some memory leaks in Unicode conversions
2007-12-07 09:44:03 +00:00
Mindaugas Kavaliauskas
1e7aadcf86 2007-12-06 11:35 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/source/lang/msgltwin.c
    * more changes from LT to LTWIN
  * harbour/common.mak
    * restored missing msgltwin.c 
  * harbour/include/hbapi.h
  * harbour/source/vm/hashes.c
    + added hash key support for pointer type
2007-12-06 09:34:22 +00:00
Viktor Szakats
12bb58304e 2007-12-06 02:21 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
   * common.mak
   * source/codepage/Makefile
   - source/codepage/cpdedos.c
   + source/codepage/cpde850.c
   - source/codepage/cpeldos.c
   + source/codepage/cpel737.c
   - source/codepage/cpesdos.c
   + source/codepage/cpes850.c
   - source/codepage/cpfrdos.c
   + source/codepage/cpfr850.c
   - source/codepage/cptrdos.c
   + source/codepage/cptr857.c
     ! Renamed some codepage modules to include the 
       actual DOS codepage number instead of nothing 
       or generic "dos" name.

   * common.mak
   * source/lang/Makefile
   + source/lang/msgtr857.c
   - source/lang/msgtrdos.c
     ! Rename one language module to be in sync with 
       proper internal ID.
2007-12-06 01:26:32 +00:00
Viktor Szakats
5a278f5646 2007-12-06 01:26 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* doc/howtosvn.txt
     ! Fixed the SVN propset command to include all needed keywords, 
       not just "Id".

   * common.mak
   * source/codepage/Makefile
   - source/codepage/cpgedos.c
   - source/codepage/cpgeiso.c
   + source/codepage/cpdedos.c
   + source/codepage/cpdeiso.c
     ! Renamed to be in sync with rules and content.

   * source/lang/msgnl.c
     ! svn propset svn:keywords "Author Date Id Revision".
       (to correct my prev commit)

   * include/hbextern.ch
     ! Adjusted CP/MSG module names.
2007-12-06 01:12:29 +00:00
Przemyslaw Czerpak
27487f2460 2007-12-05 08:25 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbgtcore.h
    * added HB_GTSELF_*() macros for future use

  * harbour/source/rtl/gtalleg/gtalleg.c
  * harbour/source/rtl/gtalleg/ssf.h
  * harbour/source/rtl/gtalleg/fixedth.sfc
  * harbour/source/rtl/gtalleg/ssf.c
    * replaced one global variable by static one
    * formatting

  * harbour/contrib/hbct/files.c
    ! fixed default attribute mask in FILEATTR(<cFileName>)
2007-12-05 07:26:00 +00:00