Commit Graph

2882 Commits

Author SHA1 Message Date
Viktor Szakats
54ef385941 2005-11-24 23:24 UTC+0100 Viktor Szakats (viktor.szakats/syenar.hu)
* include/hbpcode.h
    + Comment added about adding new pcodes at the end of
      the list for compatibility.

  * source/rtl/filesys.c
    + Added hb_fsSetDevMode() Unix branch added (thx Przemek)

  * tests/mathtest.prg
  * source/rtl/math.c
    ! Fixed prev commit to comply with 10char function name
      rule:
      HB_MATHERRMODE()    -> HB_MATHERMODE()
      HB_MATHERRORBLOCK() -> HB_MATHERBLOCK()

  * source/rtl/seconds.c
    ! hb_secondsCPU() move inside FlagShip guard instead
      of HB_EXTENSION.
    * hb_secondsCPU() made static (Harbour level function
      helper only with non-std name).

  * source/vm/dynlibhb.c
  * include/hbextern.ch
    * LIBLOAD(), LIBFREE() moved (back) to Harbour namespace:
      HB_LIBLOAD(), HB_LIBFREE()
    + Added these functions to hbextern.ch

  * source/rtl/symbol.prg
  * source/vm/dynsym.c
  * include/hbextern.ch
    * Internal function names renamed to comply and to
      not collide with existing ones (mistake in prev
      commit).

  + tests/symbolt.prg
    ; Missed from prev commit.
2005-11-24 22:35:36 +00:00
Viktor Szakats
77e2a41f97 2005-11-22 10:31 UTC+0100 Viktor Szakats (viktor.szakats/syenar.hu)
* source/rtl/symbol.prg
  * source/vm/dynsym.c
  * include/hbextern.ch
    ! Moved and renamed two functions from BEGINDUMP to their
      proper place.
      GETSYMBOLPOINTER() -> __DYNSGETPOINTER()
      GETSYMBOLNAME() -> __DYNSGETNAME()
    + Added the two functions to hbextern.ch
    + TOFIX added to symbol.prg to remove the remaining one C
      function inside BEGINDUMP. (Antonio, can you take a look?)
2005-11-22 09:34:29 +00:00
Przemyslaw Czerpak
473b620290 2005-11-22 01:51 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbsetup.ch
    * enable HB_COMPAT_FLAGSHIP by default
      I hope it will not be a problem - if it does then I can disable it
      but in *nixes for a long time FlagShip was the only one Clipper
      alternative and some of its functions are quite often used in
      Clipper/FoxPro programs ported to *nixes so I'd want to keep it
      enabled at least when HB_OS_LINUX/HB_OS_UNIX is defined.


  * harbour/include/hbvm.h
    + added missing extern in hb_vmAtInit() and hb_vmAtExit() declarations

  * harbour/include/hbvmpub.h
    * formatting

  * harbour/source/rdd/dbcmd.c
    ! fixed the problem with fieldput(<n>,nil) at phantom recrod reported
      by Victor
    * do not use C level HB_ITEM

  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
    ! fixed possible GPF when "/an/existing/path/" was used as file name.
      No in DOS in such case it will casue RT error that file:
         /an/existing/path/.<ext>
      cannot be created (like in Clipper) but in other systems (f.e. Linux)
      which allow to use such file names it will work without any problems.

  * harbour/source/rdd/dbffpt/dbffpt1.c
    * do not use C level HB_ITEM

  * harbour/source/rtl/Makefile
  + harbour/source/rtl/strpeek.c
    + added STRPEEK and STRPOKE FS functions covered by HB_COMPAT_FLAGSHIP
      macro

  * harbour/source/rtl/philes.c
    ! fixed GPF when unshareing string item buffer with embedded 0 by using
      hb_itemUnShare()

  * harbour/include/hbapiitm.h
  * harbour/source/vm/itemapi.c
    + added hb_itemUnShare() - /* un-share given string item */
      and hb_itemClone() - /* clone the given item */
2005-11-22 00:55:51 +00:00
Viktor Szakats
52401a7445 2005-11-21 18:03 UTC+0100 Viktor Szakats (viktor.szakats/syenar.hu)
- include/math.ch
   + include/hbmath.ch
   * include/hbmath.h
   * tests/mathtest.prg
     ! math.ch -> hbmath.ch (rename)
2005-11-21 17:04:40 +00:00
Viktor Szakats
58eafb0a08 2005-11-21 17:44 UTC+0100 Viktor Szakats (viktor.szakats/syenar.hu)
+ tests/simplet.prg
   * src/rtl/symbol.prg
     * Embedded example code moved to the test dir.

   * src/rtl/math.c
   * include/hbextern.ch
   * tests/mathtest.prg
   * doc/en/math.txt
     ! HB_ prefix added for non-Clipper functions.
       MATHERRMODE()    -> HB_MATHERRMODE()
       MATHERRORBLOCK() -> HB_MATHERRORBLOCK()
     + Above two functions added to hbextern.ch
     * HB_MATHERRMODE() input validation logic moved to the lower
       level function. This is a step to make this a simple Set()

   * include/math.ch
     + HB_ prefix added.
2005-11-21 16:54:30 +00:00
Viktor Szakats
a72904f14a 2005-11-19 00:30 UTC+0100 Viktor Szakats (viktor.szakats/syenar.hu)
* include/hbapifs.c
   * src/rtl/filesys.c
     ! hb_fsSetDevMode() fixed back to return a BOOL value
       to be compatible with the CA-Cl*pper undocumented
       _tdevraw() function. (hb_fsSetDevMove() is mapped
       to _tdevraw() in hbundoc.api, it's the documented
       version of the same functionality)
       Also fixed warning and error for one of the dummy
       platform branches.
       Since this came from xHarbour it pbly needs to be
       fixed there too.

   * tests/Makefile
     + symbolt.prg added
2005-11-18 23:32:30 +00:00
Przemyslaw Czerpak
035d484e54 2005-11-16 13:14 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* xharbour/include/hbvmpub.h
    * changed definition of HB_SYMB structure.
          HB_SYMBOLSCOPE    cScope
      replaced by:
         union
         {
            HB_SYMBOLSCOPE    value;      /* the scope of the symbol */
            void *            pointer;    /* filler to force alignment */
         } scope;
      This modification should only force the same alignment independently
      on used compiler alignment switches or executed #pragma pack*
      It's important to keep this structure with fixed size because it's
      used in .c files generated from .prg code.
      The code with #pragma pack* removed - it should not be longer
      necessary but please make a real tests with different compiler
      alignment switches

  * harbour/contrib/btree/hb_btree.c
  * harbour/contrib/rdd_ads/ads1.c
  * harbour/contrib/runjava/runjava.c
  * harbour/source/compiler/genc.c
  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/delim1.c
  * harbour/source/rdd/sdf1.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/dbfdbt/dbfdbt1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/vm/dynsym.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/initsymb.c
  * harbour/source/vm/runner.c
    * updated for modified HB_SYMB structure.
2005-11-16 12:27:55 +00:00
Przemyslaw Czerpak
6b8436b452 2005-11-14 20:54 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/common/expropt2.c
    * casting

  * harbour/include/hbdate.h
    + added hb_dateJulianDOW() - retrieve day of week from Julian's date

  * harbour/source/rtl/dates.c
  * harbour/source/common/hbdate.c
    * moved hb_dateDOW(), hb_dateDecStr() and hb_dateEncStr() to
      hbdate.c - Ryszard I'd prefer to keep this function together
      It will be much easier to update them.
    + added HB_STR_DATE_BASE for conversion to string - Clipper
      compatibility though we are not 100% Clipper compatible in STOD()
      because we will have to reduce functionality (supported date
      range) to reach it. In Clipper STOD(DTOS()) is not revertible.
      I decided to make it revertible in [x]Harbour for the whole supported
      in string conversion range: 0000/01/01 : 9999/01/01
    % optimized hb_dateEncode()
    * some minor fixes for Clipper compatibility

  * harbour/source/rtl/dateshb.c
    * use faster and Clipper compatible hb_dateJulianDOW() instead of
      hb_dateDOW()

  * harbour/source/rdd/nulsys/Makefile
  - harbour/source/rdd/nulsys/nulsys.prg
  + harbour/source/rdd/nulsys/nulsys.c
    * replaced .prg code with #pragma begindump/enddump by native C code
      rtl/symbol.prg have to be updated yet.

  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
    * synced with xHarbour
2005-11-14 21:01:01 +00:00
Viktor Szakats
7f36538154 2005-11-14 20:50 UTC+0100 Viktor Szakats (viktor.szakats/syenar.hu)
* hrbdll.vc
   * makefile.nt
   * makefile.vc
   * makefile64.nt
     * Change -o linker option to /OUT: to avoid warning with
       MS Visual Studio 2005 compiler tools.
     + Added -D_CRT_SECURE_NO_DEPRECATE to suppress the many
       new MS warnings about unsafe function usage.
     ; NOTE: MSVC 14.0 fails to compile macroy.c
     ; NOTE: Still tons of warnings, but other than these it
             compiles fine.

   * source/codepage/cdpsl437.c
     ! Fixed wrong escape char (\ -> \\).

   * include/hbsetup.ch
   * source/common/hbverdsp.c
     + Added CLIP compatibility switch.

   * include/hbextern.ch
     + Updated (somewhat).

   * source/rtl/strmatch.c
   * source/rdd/rddord.prg
     ! WILDMATCH() renamed to HB_WILDMATCH()

   * source/rdd/rddord.prg
     ! ORDWILDSEEK() guarded with HB_COMPAT_XPP

   * source/rtl/seconds.c
     ! SECONDSCPU guarded with HB_COMPAT_FLAGSHIP
2005-11-14 19:56:11 +00:00
Ryszard Glab
dde0793b53 2005-11-14 11:00 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* include/hbcomp.h
   * include/hberrors.h
   * include/hbexpra.c
   * include/hbexprb.c
   * include/hbexprop.h
   * include/hbhash.h
   * include/hbmacro.h
   * include/hbpcode.h
   * source/common/Makefile
   * source/common/expropt1.c
   * source/common/expropt2.c
   * source/common/hbhash.c
   * source/compiler/expropta.c
   * source/compiler/exproptb.c
   * source/compiler/genc.c
   * source/compiler/harbour.c
   * source/compiler/harbour.l
   * source/compiler/harbour.y
   * source/compiler/hbfix.c
   * source/compiler/hbgenerr.c
   * source/compiler/hbident.c
   * source/compiler/hbpcode.c
   * source/macro/macro.l
   * source/macro/macro.y
   * source/macro/macroa.c
   * source/macro/macrob.c
   * source/rtl/dates.c
   * source/vm/hvm.c
   * source/vm/macro.c
   + source/common/hbdate.c
   + tests/ddate.prg
   + tests/switch.prg
      +added support for DATE type constants in the following format:
         0dYYYYMMDD
      for example (see tests/ddate.prg for more):
      IF( dDate > 0d20051112 )

      +added support for SWITCH command (see tests/switch.prg)
         SWITCH <expr>
         CASE <integer_expression>
            ...
            [EXIT]
         CASE <string_expression>
            ...
            [EXIT]
         [OTHERWISE]
            ...
         END

   Notice:
      - Integer and string expressions can be mixed in a single
        SWITCH command with no runtime errors;
      - CASE expression have to be resolved at compile time and
        the result has to be either an integer or string constant
      - if there is no EXIT statement then next CASE is executed
        (or OTHERWISE for the last CASE)
      For example:
      CASE 1+32+2*4
      CASE CHR(64)
      CASE ASC('A')
      CASE "A"+CHR(13)

   Notice:
      The above changes apply only to FLEX version!
2005-11-14 09:47:46 +00:00
Przemyslaw Czerpak
04daca8372 2005-11-13 12:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/ole/ole2.c
  * harbour/contrib/ole/oleauto.prg
    ! fixed casting

  * harbour/contrib/rdd_ads/Makefile
  * harbour/contrib/rdd_ads/ace.h
  * harbour/contrib/rdd_ads/ads.ch
  - harbour/contrib/rdd_ads/ads0.prg
  * harbour/contrib/rdd_ads/ads1.c
  * harbour/contrib/rdd_ads/adsfunc.c
  * harbour/contrib/rdd_ads/adsmgmnt.c
  * harbour/contrib/rdd_ads/rddads.h
  * harbour/include/hbapirdd.h
  * harbour/include/hbrddcdx.h
  * harbour/include/hbrdddbf.h
  * harbour/include/hbrdddbt.h
  * harbour/include/hbrddfpt.h
  * harbour/include/hbrddntx.h
  * harbour/source/rdd/dbcmd.c
  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/dbsort.prg
  * harbour/source/rdd/dbstrux.prg
  * harbour/source/rdd/dbtotal.prg
  * harbour/source/rdd/hbdbsort.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
    * synced with xHarbour

  * harbour/include/hbcomp.h
  * harbour/source/compiler/harbour.c
  * harbour/source/compiler/hbgenerr.c
  * harbour/source/compiler/hbpcode.c
    * emit warning and error messages to stderr instead of stdout
      Now it's enabled only for *nix platforms.

  * harbour/source/vm/extend.c
    * allow hb_param() to return parameters accessed by HB_IT_BYREF
2005-11-13 11:32:48 +00:00
Ryszard Glab
d947f68c8e 2005-11-07 14:35 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* include/hbapi.h
   * include/hbapiitm.h
   * include/hbcomp.h
   * include/hberrors.h
   * include/hbexpra.c
   * include/hbpcode.h
   * include/hbsetup.h
   * source/common/expropt1.c
   * source/compiler/expropta.c
   * source/compiler/genc.c
   * source/compiler/gencli.c
   * source/compiler/harbour.c
   * source/compiler/harbour.l
   * source/compiler/harbour.y
   * source/compiler/hbfix.c
   * source/compiler/hbgenerr.c
   * source/compiler/hbpcode.c
   * source/macro/macroa.c
   * source/vm/hvm.c
   * source/vm/itemapi.c
   + tests/foreach.prg
      + added support for FOR EACH loop
         FOR EACH var1 [,var255] IN expr1 [,expr255] [DESCEND]
         NEXT

         Note:
            -expr can be a string or an array
               if it is a string then assigments to the control
               variable does not change the string
            -after the loop the controlling variable(s) store the
             value which they had before entering the loop
            -the controlling variable supports the following properties
             :__enumindex - the loop counter for variable
             :__enumbase  - the value that is being traversed
             :__enumvalue - the value of variable
            -see tests/foreach.prg for examples

      + added warnings in cases of duplicated loop variables
       eg. FOR i:=1 TO 5
            FOR i:=i TO i+5

      -removed strong typing in the compiler (xHarbour too)
      (reactivate it by compiling with -DHB_COMP_STRONG_TYPES)

NOTE:
   The new pcodes were added - rebuild everything
2005-11-07 13:28:40 +00:00
Przemyslaw Czerpak
33b161641c 2005-11-01 23:28 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/make_gnu.sh
  + harbour/make_xmingw.sh
  * harbour/bin/hb-mkslib.sh
  * harbour/bin/postinst.sh
  * harbour/config/w32/mingw32.cf
    * added support for cross compilation (Windows binaries at Linux) with
      MinGW - borrowed from xHarbour Phil Krylov solution

  * harbour/contrib/btree/hb_btree.c
    * casting

  * harbour/contrib/libct/files.c
    ! fixed iAttr initialization in SETFATTR()

  * harbour/contrib/ole/ole2.c
    ! fixed names of included files

  * harbour/contrib/rdd_ads/ace.h
    * cover #pragma warning( error : 4706 ) by !defined( __GNUC__ )

  * harbour/include/hbapi.h
  * harbour/include/hbdefs.h
  + harbour/source/common/hbarch.c
  * harbour/source/common/Makefile
    * added functions for machine independent double and long long conversions
      (my code borrowed from xHarbour)

  * harbour/include/hbapifs.h
    * synced file IO with xHarbour - it fixes some problems, adds some
      missing functionality and long (64bit) file support for Windows.
      For Linux I added it some time ago.

  * harbour/include/hbcomp.h
    * changed 'char cScope' to 'HB_SYMBOLSCOPE cScope'

  * harbour/source/common/hbfsapi.c
    ! fixed some possible buffer overflow

  * harbour/source/common/hbstr.c
    * synced with xHarbour

  * harbour/source/common/hbver.c
    + added hb_iswinnt() (borrowed from xHarbour)

  * harbour/source/compiler/cmdcheck.c
    + added -undef: compiler switch (borrowed from xHarbour)

  * harbour/source/compiler/gencobj.c
    * cleanup

  * harbour/source/pp/ppcore.c
    ! fixed path delimiters in included file names

  * harbour/source/rtl/Makefile
  + harbour/source/rtl/fserror.c
    + added C -> OS file error trnalsations - not perfect but better then
      the used hacks (borrowed from xHarbour)

  * harbour/source/rtl/file.c
    * use hb_fileNameConv() instead of hb_filecase() - hb_fileNameConv()
      is the only one function to make file name conversions dependent on
      some SETs.

  * harbour/source/rtl/filesys.c
    * synced file IO with xHarbour - it fixes some problems, adds some
      missing functionality and long (64bit) file support for Windows.
      For Linux I added it some time ago.

  * harbour/source/rtl/fstemp.c
    * synced with xHarbour

  * harbour/source/rtl/strings.c
    * use ULONG instead of size_t in hb_strnicmp declaration - we have to
      decide what we should use. Using size_t or its Harbour version f.e.
      HB_SIZE_T seems to be reasonable but it has to be global - redefining
      single functions does not make sense and will create troubles only.
2005-11-01 22:31:05 +00:00
Viktor Szakats
8c0f1c7afa 2005-10-28 10:23 UTC+0100 Viktor Szakats (viktor.szakats/syenar.hu)
* hrbdll.bc
   * hrbdll.vc
   * makefile.bc
   * makefile.nt
   * makefile.vc
   * makefile64.nt
   * include/hbapicdp.h
   * source/codepage/Makefile
   * source/codepage/cdphu852.c
   * source/lang/Makefile
   * source/lang/msg_tpl.c
   * source/lang/msghu852.c
   + source/codepage/cdpbg866.c
   + source/codepage/cdpbgiso.c
   + source/codepage/cdpbgwin.c
   + source/codepage/uc8859_5.c
   + source/lang/msgbg866.c
   + source/lang/msgbgiso.c
   + source/lang/msgbgwin.c
     + Added BG language support.
     * HU minor fix.
     * Lang template updated.
2005-10-28 08:23:35 +00:00
Przemyslaw Czerpak
6d28a19d98 2005-10-24 13:23 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/include/hbapiitm.h
  * harbour/include/hbapirdd.h
  * harbour/include/hbdefs.h
  * harbour/include/hbtypes.h
  * harbour/source/rtl/empty.c
  * harbour/source/vm/arrays.c
  * harbour/source/vm/extend.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/itemapi.c
  * harbour/source/vm/maindllp.c
    + added HB_TYPE to as HB_ITEM type marker.
    * set HB_TYPE as UINT32
    * updated to the above modifications
    * cleaned some ~HB_IT_BYREF which has no effect in current VM
2005-10-24 11:29:10 +00:00
Przemyslaw Czerpak
5aa228910c 2005-10-24 12:37 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbtypes.h
  * harbour/source/vm/maindllp.c
    ! fixed some declaration I missed in previous commit
2005-10-24 10:47:32 +00:00
Przemyslaw Czerpak
188575920d 2005-10-24 02:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/dot/pp.prg
  * harbour/contrib/dot/pp_harb.ch
  * harbour/include/hbapi.h
  * harbour/include/hbapirdd.h
  * harbour/include/hbdefs.h
  * harbour/include/hbextern.ch
  * harbour/include/hbinit.h
  * harbour/include/hbstack.h
  * harbour/include/hbsxfunc.h
  * harbour/include/hbvm.h
  + harbour/include/hbvmopt.h
  * harbour/include/hbvmpub.h
  * harbour/source/codepage/cdp_tpl.c
  * harbour/source/codepage/cdppl852.c
  * harbour/source/codepage/cdppliso.c
  * harbour/source/codepage/cdpplmaz.c
  * harbour/source/codepage/cdpplwin.c
  * harbour/source/compiler/genc.c
  * harbour/source/compiler/harbour.c
  * harbour/source/lang/msgca.c
  * harbour/source/lang/msgpl852.c
  * harbour/source/lang/msgpliso.c
  * harbour/source/lang/msgplmaz.c
  * harbour/source/lang/msgplwin.c
  * harbour/source/rdd/Makefile
  * harbour/source/rdd/dbcmd.c
  -  harbour/source/rdd/dbf0.prg
  * harbour/source/rdd/dbf1.c
  -  harbour/source/rdd/delim0.prg
  * harbour/source/rdd/delim1.c
  * harbour/source/rdd/rddsys.prg
  -  harbour/source/rdd/sdf0.prg
  * harbour/source/rdd/sdf1.c
  * harbour/source/rdd/dbfcdx/Makefile
  -  harbour/source/rdd/dbfcdx/dbfcdx0.prg
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  -  harbour/source/rdd/dbfcdx/sixcdx0.prg
  * harbour/source/rdd/dbfdbt/Makefile
  -  harbour/source/rdd/dbfdbt/dbfdbt0.prg
  * harbour/source/rdd/dbfdbt/dbfdbt1.c
  * harbour/source/rdd/dbffpt/Makefile
  -  harbour/source/rdd/dbffpt/dbffpt0.prg
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/source/rdd/dbfntx/Makefile
  * harbour/source/rdd/dbfntx/dbfntx0.prg
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rdd/hbsix/Makefile
  * harbour/source/rdd/hbsix/sxcompr.c
  * harbour/source/rdd/hbsix/sxcrypt.c
  * harbour/source/rdd/hbsix/sxdate.c
  * harbour/source/rdd/hsx/hsx.c
  * harbour/source/rdd/nulsys/nulsys.prg
  * harbour/source/rtl/browdbx.prg
  * harbour/source/rtl/cdpapi.c
  * harbour/source/vm/arrays.c
  * harbour/source/vm/arrayshb.c
  * harbour/source/vm/asort.c
  * harbour/source/vm/break.c
  * harbour/source/vm/classes.c
  * harbour/source/vm/cmdarg.c
  * harbour/source/vm/codebloc.c
  * harbour/source/vm/debug.c
  * harbour/source/vm/dynlibhb.c
  * harbour/source/vm/dynsym.c
  * harbour/source/vm/estack.c
  * harbour/source/vm/eval.c
  * harbour/source/vm/evalhb.c
  * harbour/source/vm/extend.c
  * harbour/source/vm/fm.c
  * harbour/source/vm/garbage.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/initsymb.c
  * harbour/source/vm/itemapi.c
  * harbour/source/vm/macro.c
  * harbour/source/vm/maindllp.c
  * harbour/source/vm/memvars.c
  * harbour/source/vm/memvclip.c
  * harbour/source/vm/pcount.c
  * harbour/source/vm/proc.c
  * harbour/source/vm/pvalue.c
  * harbour/source/vm/runner.c
    * remove default API and stack macros. Now API/stack macros can be
      enabled by including hb_vmopt.h file.
      This file should be included _ONLY_ by core code because binary
      object/libraries generated after can work only with _EXACTLY_ the
      same HVM compiled the same C alignment switches
    * cleaned some HB_EXTERN_C declaration - Anotonio you should be able
      to build FWH now
    * cleaned startup initialization code -
      please update lang and codepage files - I only updated
      source/codepage/cdppl*.c and source/lang/msgpl*.c files
      Or other files should be updated or they will not work MSC
    * synced with recent xHarbour modification in RDD init code
2005-10-24 00:52:42 +00:00
Przemyslaw Czerpak
23172a52ce 2005-10-12 02:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/global.cf
    + added HB_DB_DRVEXT envvar support for additional RDDs

  * harbour/config/linux/gcc.cf
  + harbour/config/linux/gpp.cf
    + added GNU C++ support

  * harbour/config/linux/owatcom.cf
  * harbour/contrib/btree/hb_btree.c
  * harbour/contrib/libct/ct.h
  * harbour/contrib/libct/ctc.c
  * harbour/contrib/odbc/odbc.c
  * harbour/contrib/rdd_ads/adsfunc.c
  * harbour/include/hbapi.h
  * harbour/include/hbapierr.h
  * harbour/include/hbapigt.h
  * harbour/include/hbapilng.h
  * harbour/source/compiler/harbour.c
  * harbour/source/rtl/console.c
  * harbour/source/rtl/datec.c
  * harbour/source/rtl/diskspac.c
  * harbour/source/rtl/errorapi.c
  * harbour/source/rtl/errorint.c
  * harbour/source/rtl/filesys.c
  * harbour/source/rtl/fssize.c
  * harbour/source/rtl/fstemp.c
  * harbour/source/rtl/gtapi.c
  * harbour/source/rtl/isprint.c
  * harbour/source/rtl/natmsg.c
  * harbour/source/rtl/philes.c
  * harbour/source/rtl/setcolor.c
  * harbour/source/rtl/spfiles.c
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/rtl/gtsln/kbsln.c
  * harbour/source/vm/itemapi.c
  * harbour/source/vm/memvars.c
  * harbour/source/vm/runner.c
    * fixed for popper compilation with GNU C++ and OpenWatcom on Linux
2005-10-12 00:30:49 +00:00
David Arturo Macias Corona
410d3ac469 2005-10-05 03:08 UTC-0500 David Arturo Macias Corona <dmacias@mail.udg.mx>
* harbour/include/hbextern.ch
    ! added missing declarations:
      DBRELATION, DBRSELECT, MENUMODAL, _PUSHBUTT_, _LISTBOX_
  * harbour/contrib/mysql/tmysql.prg
    ! added conversion from tiny int MySQL type into numeric DBF. (an error before).
      Supplied by Mitja Podgornik
2005-10-05 09:27:26 +00:00
Przemyslaw Czerpak
ded757f92c 2005-09-25 21:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/harbour.spec
  * harbour/make_tgz.sh
  * harbour/bin/hb-func.sh
  * harbour/bin/pack_src.sh
  * harbour/config/global.cf
  * harbour/include/hbapiitm.h
  * harbour/include/hbdate.h
  * harbour/include/hbextern.ch
  * harbour/source/rdd/dbcmd.c
  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/workarea.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rtl/dates.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/itemapi.c
    * updated for proper RDD synchronization with xHarbour

  * harbour/contrib/rdd_ads/ads0.prg
  * harbour/contrib/rdd_ads/ads1.c
  * harbour/contrib/rdd_ads/adsfunc.c
  * harbour/contrib/rdd_ads/rddads.h
    * synced base of ADS RDD with xHarbour - old code cannot be compiled
      without it - external ADS*() functions not synced - I do not use them
      and I do not want to break sth - Harbour ADS developers should check it
2005-09-25 19:39:45 +00:00
Ryszard Glab
7d20bfda2f 2005-09-23 15:05 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* include/hbextern.ch
      * removed reference to SDFC and DELIMC
   * source/rdd/dbcmd.c
      * removed definition of DBSKIPPER function (it is defined
      already in rtl/browdbx.prg)
2005-09-23 12:56:14 +00:00
Ryszard Glab
691b3a9890 2005-09-23 15:45 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* changes to synhronize RDD code with xHarbour (state of 23.09.2005)
        Many, many thanks to Przemek Czerpak for his work.
2005-09-23 08:45:05 +00:00
Alexander S.Kresin
cca0f761b6 include/hbver.h - last changelog info added 2005-05-25 05:55:24 +00:00
Alexander S.Kresin
2aaf5e33f9 2005-05-25 09:55 UTC+0300 Alexander Kresin <alex@belacy.belgorod.su> 2005-05-25 05:53:27 +00:00
Antonio Linares
5fa0cfc51f HB_EXPORT added to those functions that already were using it, as per
new Microsoft C 64 compiler (PSDK April 2005) requirement.
2005-05-07 15:10:46 +00:00
Antonio Linares
ebaacceb23 HB_EXPORT added to those functions that already were using it, as per
new Microsoft C 64 compiler (PSDK April 2005) requirement
2005-05-07 15:08:54 +00:00
Antonio Linares
d9638b8dd0 __64__ changed into Microsoft C 64 built-in _WIN64 2005-04-29 13:54:49 +00:00
Antonio Linares
b156fa7a49 fixed for Windows 64, using Microsoft C provided _WIN64 define 2005-04-29 13:46:32 +00:00
Antonio Linares
8cbbdda5a0 __64__ define use to detect building for 64 bits when using Microsoft C compiler 2005-04-29 05:04:48 +00:00
Antonio Linares
8f3da9c87b fixed typo on used USHORT_MAX instead of USHRT_MAX 2005-04-18 22:10:09 +00:00
Antonio Linares
05daa044c2 two minor changes required for 64 bits support 2005-04-18 20:51:49 +00:00
Ryszard Glab
971da5e61e 2005-03-18 11:45 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* config/dos/global.cf
      *restored creation of subdirectiories under plain DOS

   * include/hbapi.h
   * include/hbcomp.h
   * include/hbdefs.h
   * include/hbvm.h
   * source/compiler/genc.c
   * source/compiler/harbour.c
   * source/compiler/hbpcode.c
   * source/vm/dynsym.c
   * source/vm/hvm.c
   * source/vm/macro.c
      *modified creation of symbols table
         *symbol of function name never share a symbol of variable
         *symbol for INIT/EXIT procedure has now '$' suffix - this means
         that such procedures cannot be called from user code
         (Clipper compatible)
       See the following code:
       PROCEDURE MAIN
        aaa()
       RETURN
       INIT PROCEDURE aaa
        ? "In INIT procedure", PROCNAME(0)
       RETURN
       STATIC PROCEDURE aaa
        ? "In STATIC procedure", PROCNAME(0)
       RETURN
       It will print:
       In INIT procedure aaa$
       In STATIC procedure aaa

      *fixed access to static functions in a macro compiler (symbols for
      static functions never goes into dynamic symbols table)

   * source/pp/ppcore.c
      *increased numer of nested optional clauses (max 5 currently - work
      in progress)
2005-03-18 10:39:33 +00:00
Przemyslaw Czerpak
e31bdceeb4 2005-01-30 22:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* xharbour/contrib/rdd_ads/ace.h
    * small modification for OpenWatcom on Linux

  * xharbour/source/rdd/dbfntx/dbfntx1.c
    * minor fix: use *_GOTO( pArea, 0 ) instead
      of *_GOTO( pArea, pArea->ulRecCount+1000 )
    + use hb_fsSeekLarge() - for DBFs longer then 2GB

  * xharbour/include/hbrddcdx.h
  * xharbour/source/rdd/dbfcdx/dbfcdx1.c
    + use hb_fsSeekLarge() - for DBFs longer then 2GB
    * my last xHarbour modifications:
      improved indexing speed of DBFs with very big number of
      records. In small DBFs less then 100'000 records the new
      algorithm can even decrease the speed by ~0.5% due to static
      costs but in bigger it becomes faster. For 1'000'000 records
      DBFs is about 20% faster, for 10'000'000 records about twice
      faster. With bigger DBFs more. Please test it. If you will
      have any troubles (I hope not) then please comment out in
      dbfcdx.c:
        #define HB_CDX_NEW_SORT
      I should done it before when I was rewriting the indexing but
      sorry I was too lazy. Now I've found a while. Current cost of
      key comparisons is always n*log2(n) and cannot be more improved.
      Some small optimizations still can be done but the static cost
      for small database will be bigger then ~0.5% as in this case
      so I do not plan to do it in the nearest future.

  * harbour/include/dbinfo.ch
  * harbour/source/rdd/dbf1.c
    + use hb_fsSeekLarge() - for DBFs longer then 2GB
    * synched with xHarbour (added DBRI_RAW*)
    * do not call GOCOLD() inside CHILDSYNC() but do it in FORCEREL()
      the modification based on CL5.3 NG.
      Below is a note I lef in dbf1.c:
      /*
       * !!! The side effect of calling GOCOLD() inside CHILDSYNC() is
       * evaluation of index expressions (index KEY and FOR condition)
       * when the pArea is not the current one - it means that the
       * used RDD has to set proper work area before eval, DBFCDX does
       * but DBFNTX not yet - it should be changed.
       * IMHO GOCOLD() could be safely removed from this place but I'm not
       * sure it's Clipper compatible - I will have to check it, Druzus.
       */
      /*
       * I've checked in CL5.3 Technical Reference Guide that only
       * FORCEREL() should ensure that the work area buffer is not hot
       * and then call RELEVAL() - I hope it describes the CL5.3 DBF* RDDs
       * behavior so I replicate it - the GOCOLD() is moved from CHILDSYNC()
       * to FORCEREL(), Druzus.
       */

  * harbour/source/rdd/dbf0.prg
  * harbour/source/rdd/delim0.prg
  * harbour/source/rdd/rddsys.prg
  * harbour/source/rdd/sdf0.prg
  * harbour/source/rdd/dbfntx/dbfntx0.prg
    * formatting (adding EOL at EOF)

  * harbour/include/hbapifs.h
  * harbour/source/rtl/filesys.c
    * added hb_fsLockLarge() and hb_fsSeekLarge() which uses 64bit ofsets

  * harbour/source/rdd/workarea.c
    * set current work area to the used one in EVALBLOCK RDD method
      before code block evaluation

  * harbour/source/vm/harbinit.prg
  * harbour/source/vm/hvm.c
    + added hb_vmDoInitClip() which calls CLIPINIT function to initialize
      ErrorBlock() and __SetHelpK()
      Because on some platform the execution order of init functions
      is out of Harbour control then CLIPINIT has to be called explicitly
      in VM initialization process before hb_vmDoInitFunctions() and do not
      depends on INIT clause.
    * small modification in VM loop which gives noticeable speed-up
2005-01-30 21:11:50 +00:00
Przemyslaw Czerpak
fb7302c76b 2004-01-13 08:15 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
+ harbour/include/hbfixdj.h
    + I missed to add this file in my last commit - it's borrowed from
      xHarbour.
  * harbour/source/rtl/filesys.c
    ! fixed DJGPP compilation I broke
2005-01-13 07:15:37 +00:00
Przemyslaw Czerpak
21ddfc5d47 2004-01-12 18:25 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/hbgtmk.sh
  * harbour/make_rpm.sh
  * harbour/harbour.spec
    * added flex to dependences
    * added --without gpl swich to exclude code which needs 3-rd party
      GPL libs (GPM, SLANG) - necessary for people who want to create
      commercial closed source application

  * harbour/make_gnu.sh
    * modified DJGPP detection - try to use env var first
    * set HB_GT_LIB depending on platform information
    * check PREFIX env var for default installation

  * harbour/make_tgz.sh
    * modified to work with DJGPP and 8.3 file names

  * harbour/bin/hb-func.sh
    * DJGPP support

  * harbour/bin/pack_src.sh
    * autodetect Harbour version number

  * harbour/config/linux/gcc.cf
    * added small comment

  + harbour/config/linux/owatcom.cf
    + OpenWatcom support on Linux

  * harbour/config/w32/global.cf
  * harbour/config/w32/mingw32.cf
    * small modification in clean procedure
    + added Phil's modification for MINGW cross compilation in Linux and BSD

  * harbour/source/compiler/gencobj.c
    + added Phil's modification for MINGW cross compilation in Linux and BSD

  * harbour/include/hbsetup.h
    * added OS_HAS_DRIVE_LETTER, OS_PATH_DELIMITER_STRING, OS_FILE_MASK,
      OS_DRIVE_DELIMITER and HOST_OS_UNIX_COMPATIBLE
    * modified for OW on Linux and MINGW cross compilation
    * added snprintf macro for compilers which do not support it

  * harbour/source/rtl/mod.c
    ! fixed bug in mod(a,b) when a/b exceeds LONG limit

  * harbour/source/rtl/filesys.c
    * removed HB_FS_DRIVE_LETTER - use OS_HAS_DRIVE_LETTER
    * modified for OW on Linux and MINGW cross compilation

  * harbour/contrib/libct/files.c
  * harbour/include/hb_io.h
  * harbour/include/hbdefs.h
  * harbour/source/rtl/diskspac.c
  * harbour/source/rtl/disksphb.c
  * harbour/source/rtl/fssize.c
  * harbour/source/rtl/fstemp.c
  * harbour/source/rtl/hbffind.c
  * harbour/source/rtl/net.c
  * harbour/source/rtl/seconds.c
  * harbour/source/rtl/gtcrs/Makefile
  * harbour/source/rtl/gtcrs/kbdcrs.c
  * harbour/source/rtl/gtpca/gtpca.c
  * harbour/source/rtl/gtsln/Makefile
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/rtl/gtsln/kbsln.c
  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/mainstd.c
  * harbour/source/vm/mainwin.c
    * modified for OW on Linux and MINGW cross compilation

  * harbour/source/vm/memvars.c
    - removed unnecessary checking for s_globalTable == NULL in
      hb_memvarValueDecRef() - in Harbour it cannot happen
  * harbour/source/vm/itemapi.c
    - removed snprintf macros (see hbsetup.h)
    * fixed possible GPF in hb_itemCopyC()
    * modified hb_itemGetPtr() to check item type
2005-01-12 17:28:05 +00:00
Ryszard Glab
0dd2bc56b7 2005-01-03 14:15 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* include/hbexprb.c
   * source/compiler/exproptb.c
   * source/macro/macrob.c
      * fixed to compile with SIMPLEX defined
      Notice: Simplex version is not updated for a long time and
      it doesn't support all fixes from FLEX version
2005-01-03 13:09:47 +00:00
Ryszard Glab
181e59a3a6 2005-01-03 10:30 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* include/hbcomp.h
   * include/hbexprb.c
   * include/hbmacro.h
   * source/compiler/exproptb.c
   * source/compiler/harbour.c
   * source/compiler/hbgenerr.c
   * source/macro/macrob.c
   * source/vm/macro.c
      * compiler reports error on the following syntax now (Clipper
        compatibility):
         {|| &macrovar <operator> anysymbol}
        "codeblock contains both macro and declared symbol reference"
        Notice, that Clipper reports error even in this case:
        MEMVAR mvar
        {|| &mvar,mvar}

   * source/vm/memvars.c
      * restored initial and expand sizes for memvars table

   * source/pp/ppcore.c
      * some empty lines added
2005-01-03 09:28:58 +00:00
Przemyslaw Czerpak
78070e00c4 2004-12-31 12:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapicdp.h
  * harbour/source/codepage/cdp_tpl.c
  * harbour/source/codepage/cdpeldos.c
  * harbour/source/codepage/cdpelwin.c
  * harbour/source/codepage/cdpesdos.c
  * harbour/source/codepage/cdpeswin.c
  * harbour/source/codepage/cdpgedos.c
  * harbour/source/codepage/cdpgewin.c
  * harbour/source/codepage/cdphu852.c
  * harbour/source/codepage/cdphuwin.c
  * harbour/source/codepage/cdppl852.c
  * harbour/source/codepage/cdppliso.c
  * harbour/source/codepage/cdpplmaz.c
  * harbour/source/codepage/cdpplwin.c
  * harbour/source/codepage/cdppt850.c
  * harbour/source/codepage/cdpptiso.c
  * harbour/source/codepage/cdpru866.c
  * harbour/source/codepage/cdprukoi.c
  * harbour/source/codepage/cdpruwin.c
  * harbour/source/codepage/cdpsl437.c
  * harbour/source/codepage/cdpsl852.c
  * harbour/source/codepage/cdpsliso.c
  * harbour/source/codepage/cdpslwin.c
  * harbour/source/codepage/cdpsrwin.c
  * harbour/source/rtl/cdpapi.c
    * fix memory leak reported for accented and multi byte CPs

  + harbour/source/codepage/cdpesmwi.c
    * added missing Spanish modern CP

  * harbour/include/hbstack.h
  * harbour/include/hbapiitm.h
  * harbour/source/vm/estack.c
  * harbour/source/vm/itemapi.c
    + added hb_stackReturnItem()
    - removed hb_itemReturnPtr()

  * harbour/source/rdd/workarea.c
    ! fixed possible restoring of scopes in scoped relations after
      'SET RELATION TO'

  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/dbfdbt/dbfdbt1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
    * use hb_stackReturnItem() instead of direct stack accessing

  * harbour/source/rdd/dbfntx/dbfntx1.c
    ! Fixed opening NTX file in ReadOnly mode
    * use hb_stackReturnItem() instead of direct stack accessing

  * harbour/source/rtl/filesys.c
    * cleaned unnecessary initialization

  * harbour/source/vm/memvars.c
    * formatting and small fix for calling GC after hb_memvarsRelease()
2004-12-31 11:47:58 +00:00
Przemyslaw Czerpak
e4ac791059 2004-12-28 10:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/harbour.spec
  * harbour/hbgtmk.sh
  * harbour/make_rpm.sh
  * harbour/bin/pack_src.sh
    * updated for recent changes in make process

  * harbour/contrib/Makefile
    * added odbc lib for Linux compilation

  * harbour/contrib/btree/Makefile
    * changed lib name from hb_btree to hbtree

  * harbour/contrib/btree/hb_btree.api
  * harbour/contrib/btree/hb_btree.c
    * fixed GCC compilation in HB_TR_DEBUG mode

  * harbour/contrib/hbzlib/hbzip.h
  * harbour/contrib/hbzlib/include/hbzip.h
  * harbour/include/hbapi.h
  * harbour/include/hbapicdp.h
  * harbour/include/hbapierr.h
  * harbour/include/hbapifs.h
  * harbour/include/hbapigt.h
  * harbour/include/hbapiitm.h
  * harbour/include/hbapilng.h
  * harbour/include/hbapirdd.h
  * harbour/include/hbcomp.h
  * harbour/include/hbdate.h
  * harbour/include/hbdbsort.h
  * harbour/include/hberrors.h
  * harbour/include/hbexprb.c
  * harbour/include/hbexprop.h
  * harbour/include/hbhash.h
  * harbour/include/hbinit.h
  * harbour/include/hbmacro.h
  * harbour/include/hbpp.h
  * harbour/include/hbrdddel.h
  * harbour/include/hbrddntx.h
  * harbour/include/hbrddsdf.h
  * harbour/include/hbrddwrk.h
  * harbour/include/hbset.h
  * harbour/include/hbstack.h
  * harbour/include/hbtrace.h
  * harbour/include/hbvm.h
  * harbour/include/hbvmpub.h
    * changed #if defined (HB_EXTERN_C) to HB_EXTERN_BEGIN / HB_EXTERN_END
      macros for easier manipulation with different ABI
    * added HB_IS_BADITEM() macro for debugging
    * synced CDP with xHarbour - added basic Unicode support
    * synced RDD with xHarbour

  * harbour/source/codepage/Makefile
  * harbour/source/codepage/cdp_tpl.c
  * harbour/source/codepage/cdpeldos.c
  * harbour/source/codepage/cdpelwin.c
  * harbour/source/codepage/cdpesdos.c
  * harbour/source/codepage/cdpeswin.c
  * harbour/source/codepage/cdpgedos.c
  * harbour/source/codepage/cdpgewin.c
  * harbour/source/codepage/cdphu852.c
  * harbour/source/codepage/cdphuwin.c
  * harbour/source/codepage/cdppl852.c
  * harbour/source/codepage/cdppliso.c
  * harbour/source/codepage/cdpplmaz.c
  * harbour/source/codepage/cdpplwin.c
  * harbour/source/codepage/cdppt850.c
  * harbour/source/codepage/cdpptiso.c
  * harbour/source/codepage/cdpru866.c
  * harbour/source/codepage/cdprukoi.c
  * harbour/source/codepage/cdpruwin.c
  * harbour/source/codepage/cdpsl437.c
  * harbour/source/codepage/cdpsl852.c
  * harbour/source/codepage/cdpsliso.c
  * harbour/source/codepage/cdpslwin.c
  * harbour/source/codepage/cdpsrwin.c
  + harbour/source/codepage/uc1250.c
  + harbour/source/codepage/uc1251.c
  + harbour/source/codepage/uc1253.c
  + harbour/source/codepage/uc1257.c
  + harbour/source/codepage/uc737.c
  + harbour/source/codepage/uc850.c
  + harbour/source/codepage/uc852.c
  + harbour/source/codepage/uc866.c
  + harbour/source/codepage/uc88591b.c
  + harbour/source/codepage/uc8859_1.c
  + harbour/source/codepage/uc8859_2.c
  + harbour/source/codepage/uckoi8.c
  + harbour/source/codepage/uckoi8u.c
  + harbour/source/codepage/ucmaz.c
  * harbour/source/rtl/cdpapi.c
    * synced HB CDP API with xHarbour - added basic Unicode support

  * harbour/source/common/expropt2.c

  * harbour/source/common/hbstr.c
    * removed unnecessary initialization to avoid BCC warnings

  * harbour/source/compiler/harbour.c
    * formatting
      hb_compCodeBlockStop() looks like work in progress or is has
      some old unused code - Ryszard, can you look at it?

  * harbour/source/macro/macro.y
    * removed hack for GCC and old Bison versions

  * harbour/source/pp/ppcore.c
    * removed unnecessary initialization to avoid BCC warnings

  * harbour/source/pp/pptable.c
    + added some sets for RDD synchronization with xHarbour

  * harbour/source/rdd/dbcmd.c
    + added __RDDGETTEMPALIAS

  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/dbfuncs.prg
  * harbour/source/rdd/dbnubs.c
  * harbour/source/rdd/dbstrux.prg
  * harbour/source/rdd/hbdbsort.c
  * harbour/source/rdd/rddord.prg
  * harbour/source/rdd/workarea.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/dbfdbt/dbfdbt1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
    * synchronized with xHarbour - still dbcmd.c has to be synced yet
    ! fixed all known bugs
    Alexander, please look at DBFNTX - I hope all is correct.

  * harbour/source/vm/codebloc.c
    * formatting

  * harbour/source/vm/fm.c
    + added HB_PARANOID_MEM_CHECK to force reallocations in hb_xrealloc
      and fill allocated and freed memory with HB_MEMFILER (0xff by default)
      It's for debugging only.

  * harbour/source/vm/hvm.c
    ! fixed hb_vmTopNumber() declaration for BCC
    * use hb_gcCollectAll() at HVM exit instead of hb_gcReleaseAll() to
      report allocated and not freed items - It could caused that some
      programs begin to report memory leaks.

  * harbour/source/vm/itemapi.c
    * check for HB_IS_BADITEM inside hb_itemClear() when compiled with
      HB_PARANOID_MEM_CHECK for debugging

  * harbour/source/vm/memvars.c
    * formatting
    ! fixed pItem initialization in hb_memvarDetachLocal()
      BTW - is this really necessary? I copy it form hb_itemUnRef()
      but in fact it cannot detect all possible item reference cycles
      if they appear - can they appear?
2004-12-28 09:29:30 +00:00
Ryszard Glab
e5c60f5782 2004-12-24 07:47 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* include/hbapi.h
   * source/vm/codebloc.c
   * source/vm/itemapi.c
   * source/vm/memvars.c
      * fixed memvars and detached locals handling related to reallocation
      of memvar's buffer and detaching of locals in a loop
      - thanks to Przemek

   * source/vm/debug.c
      *removed diagnostic hb_dbgstop()
2004-12-24 06:50:18 +00:00
Przemyslaw Czerpak
906f64702f 2004-12-16 13:32 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/make_gnu.sh
  * harbour/make_tgz.sh
    * fixed HPUX detection

  * harbour/bin/hb-func.sh
    * late GTK lib checking for -xbgtk switch in hb* scripts

  * harbour/contrib/btree/hb_btree.api
  * harbour/contrib/btree/hb_btree.c
  * harbour/contrib/libnf/chdir.c
  * harbour/contrib/libnf/dispc.c
  * harbour/contrib/libnf/ftint86.ch
  * harbour/contrib/libnf/getver.c
  * harbour/contrib/libnf/mkdir.c
  * harbour/contrib/libnf/proper.c
  * harbour/contrib/libnf/rmdir.c
    * casting and small fixes for OpenWatcom compilation

  * harbour/include/hbdefs.h
    * force big endian if not detected automatically for HPUX

  * harbour/source/vm/itemapi.c
    * HPUX uses isfinite() not finite()

  * harbour/source/vm/memvars.c
    ! fixed endian dependent code
2004-12-16 12:36:18 +00:00
Przemyslaw Czerpak
8f2352f7fe 2004-12-12 02:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
+ harbour/config/hpux/dir.cf
  + harbour/config/hpux/gcc.cf
  + harbour/config/hpux/global.cf
  + harbour/config/hpux/install.cf
    * Marcelo's files build files for HPUX borrowed from xHarbour

  * harbour/bin/hb-func.sh
  * harbour/bin/hb-mkslib.sh
  * harbour/bin/postinst.sh
    * recent Phil's changes for Darwin and some of mine modifications and
      cleanups

  * harbour/include/Makefile
    + added some missing header files

  * harbour/include/hbapi.h
    + added HB_ITEM_{GET|PUT}_NUMINTRAW() macros
    + added hb_objGetClass()

  * harbour/include/hbdefs.h
    * redefined multi commands macros to use do {...} while(0) for safe
      use in any of C statement
    + added HB_OS_HPUX

  * harbour/include/hbsetup.h
    + added HB_OS_HPUX

  * harbour/include/hbstack.h
    * hb_stackDec(), hb_stackPop(), hb_stackPush() redefined also as macros
      when HB_STACK_MACROS is set
    + added function hb_stackIncrease()

  * harbour/source/common/hbstr.c
    * fixed possible buffer overflow

  * harbour/include/hbrdddbf.h
  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/workarea.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/dbfdbt/dbfdbt1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
    * my recent fixes in xHarbour

  * harbour/source/rtl/copyfile.c
    * small fix to error message

  * harbour/source/rtl/idle.c
    + added HB_IDLESLEEP() and
      void hb_idleSleep( double dSeconds )

  * harbour/source/rtl/isprint.c
    * use hb_xgrab()/hb_xfree() instead of malloc()/free()

  * harbour/source/rtl/run.c
    * added __WATCOMC__ to C compilers supporting system()

  * harbour/source/vm/arrays.c
    * cleaned hb_arrayFromStack(), hb_arrayFromParams()

  * harbour/source/vm/arrayshb.c
    * small fixes to error messages
    ! improved Clipper compatibility in AFILL()
  * harbour/source/vm/asort.c
    * separate entry for integer items - conversion to double may
      damage big 64bit numbers

  * harbour/source/vm/classes.c
    + added USHORT hb_objGetClass( PHB_ITEM pItem )

  * harbour/source/vm/dynsym.c
    ! fixed accessing to uninitialized memory

  * harbour/source/vm/estack.c
    + added hb_stackIncrease() and modification for new stack macros

  * harbour/source/vm/hvm.c
    * fixed some error messages
    * some speed improvements

  * harbour/source/vm/itemapi.c
    * some small optimizations

  * harbour/utils/hbtest/rt_misc.prg
    * modified file name conversions test results for __PLATFORM__UNIX
2004-12-12 01:56:21 +00:00
Przemyslaw Czerpak
8859472755 2004-10-24 20:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/bsd/global.cf
    + added suppot for HB_COMMERCE and HB_WITHOUT_GTSLN env vars

  * harbour/source/compiler/Makefile
    * formating

  * harbour/include/hbdefs.h
  * harbour/source/vm/fm.c
  * harbour/source/vm/garbage.c
    + added macro HB_ALLOC_ALIGNMENT which forces allocated memory
      alignment in FM and GC modules to given value - by default used
      only when set HB_OS_SUNOS with 8 bytes alignment
2004-10-24 18:09:49 +00:00
Przemyslaw Czerpak
08f5a4b48c 2004-10-23 02:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/postinst.sh
   * changed install command syntax for Solaris compatibility

  * harbour/include/hbdefs.h
   * minor formating

  * harbour/source/vm/fm.c
   + overwrite HB_MEMINFO_SIGNATURE with 0 in hb_xfree() for detection
     redundant hb_xfree() call with the same pointer

  * harbour/source/rtl/spfiles.c
   * set the real path in second parameter of RetPath even when
     hb_spFiles fails to avoid race condition

  * harbour/source/vm/hvm.c
   ! set proper decimal value in hb_vmDivide when the integer results
     is converted into double
   ! commented out integer division optimization at runtime for Clipper
     compatibility
2004-10-23 01:15:55 +00:00
Przemyslaw Czerpak
e657086589 2004-10-20 07:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbdefs.h
    + added macros HB_{PUT|GET}_{LONG|PTR}
    * changed HB_CAST_BYTE_NUMBERS_OFF to HB_STRICT_ALIGNMENT

  * harbour/source/vm/fm.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/macro.c
    * replaced code which made pointer casting without respecting
      machine alignment with proper macros
2004-10-20 05:08:06 +00:00
Przemyslaw Czerpak
4549e35314 2004-10-19 22:25 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
    * changed 'sed' and 'tr' expresions to be compatible with SunOS
    + added Darwin dynlib support borrowed from xHarbour thanks
      to Phil Krylov

  * harbour/bin/hb-mkslib.sh
    * minor modification

  * harbour/bin/postinst.sh
  * harbour/config/darwin/gcc.cf
    + Phil's modification for Darwin
    * removed HB_OS_BSD and HB_BIG_ENDIAN - the first macro is set in
      hbsetup.h when HB_OS_DARWIN is set, the second one should be
      automatically detected inside hbdefs.h using C header files.

  * harbour/config/sunos/gcc.cf
    * removed HB_BIG_ENDIAN macro - the same as above

  * harbour/include/hbapi.h
  * harbour/source/vm/fm.c
    * changed 16/32 bit hack #if UINT_MAX == ULONG_MAX for hb_xmem*()
      functions to still not perfect but working on current platforms
      #if UINT_MAX > USHRT_MAX

  * harbour/include/hbdefs.h
    + added HB_DBL_LIM_INT24(d) and HB_LIM_INT24(l) macros
    + try to autodect byte order using information form system C header
      files - it whoud work for Linux, BSD/Darwin, SunOS - maybe also
      for some other *nixes
    * removed some dangerous casting. [x]Harbour code still depnds on
      8bytes double - in CDX for binary compatibility IEEE754 double is
      necessary - if some architectures uses differ type of double value
      for binary compatibility we will have to create proper conversion
      functions for HB_{PUT|GET}_{LE|BE}_DOUBLE and HB_ORD2DBL/HB_DBL2ORD
      macros

  * harbour/include/hbsetup.h
    * define HB_OS_UNIX when HB_OS_SUNOS set

  * harbour/source/common/hbstr.c
  * harbour/source/pp/ppcore.c
    * casting

  * harbour/source/compiler/harbour.c
    * use HB_LIM_INT*() macros instead of hard coded values
    * removed some unnecessary if () statement - always true

  * harbour/source/compiler/harbour.l
  * harbour/source/compiler/hbfix.c
  * harbour/source/vm/macro.c
    * use HB_LIM_INT*() macros instead of hard coded values

  * harbour/source/rdd/dbfcdx/dbfcdx1.c
    ! minor fix

  * harbour/source/rdd/dbfntx/dbfntx1.c
    ! small fix - the temporary index file was not removed
    * do not force any name for temporary index files - important
      in some cases (like DOS and short file names)

  * harbour/source/rtl/diskspac.c
    ! fixed type in SunOS version

  * harbour/source/rtl/gtsln/Makefile
    * minor cleanups

  * harbour/utils/hbtest/rt_math.prg
    * changed to number results to be Clipper compatible.
2004-10-19 21:26:21 +00:00
Przemyslaw Czerpak
26c88c2ae9 2004-10-14 21:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
  * harbour/bin/pack_src.sh
  + harbour/config/sunos/dir.cf
  + harbour/config/sunos/gcc.cf
  + harbour/config/sunos/global.cf
  + harbour/config/sunos/install.cf
    + added SunOS support

  * harbour/config/darwin/gcc.cf
    * small modification for nicer work with OS-X installed
      on SF compile farm - I'm not Darwin user and SF is the only
      one place I can make tests - if someone may fix me and leave
      some comments 'why?' it will be nice.

  * harbour/contrib/Makefile
    * exclude ADS RDD from Darwin build

  * harbour/contrib/rdd_ads/adsfunc.c
    * some minor modification to avoid compiler warnings.

  * harbour/include/hbdefs.h
    * fixed typo in HB_PUT_LE_DOUBLE() macro for big endian machines.

  * harbour/source/compiler/genc.c
    ! fixed endian dependend code I left by mistake

  * harbour/source/compiler/harbour.c
  * harbour/source/compiler/harbour.sly
  * harbour/source/compiler/harbour.y
    ! commented out hb_compSequenceFinish()

  * harbour/source/pp/ppcore.c
    + added ( void * ) size as result of __ARCH{16,32,64}BIT__ and
      __{LITTLE,BIG,PDP}_ENDIAN__ macros

  * harbour/source/pp/pragma.c
    ! fixed possible string overflow

  * harbour/source/vm/itemapi.c
  * harbour/source/rtl/diskspac.c
  * harbour/source/rtl/disksphb.c
  * harbour/source/rtl/fstemp.c
  * harbour/source/rtl/idle.c
  * harbour/source/rtl/math.c
  * harbour/source/rtl/gtcrs/Makefile
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/gtcrs/kbdcrs.c
  * harbour/source/rtl/gtcrs/mousecrs.c
    * modified for SunOS and Darwin support.
2004-10-14 19:36:53 +00:00
Przemyslaw Czerpak
8d5abcdc8f 2004-10-12 01:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbdefs.h
  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/workarea.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
   * foramting some // replaced by /*  */

  * harbour/source/vm/maindllp.c
   * fixed Windows compilation
   The BCC and MSC make fiels have to be updated to the folowing changes:
     - harbour/contrib/libct/invertwin.prg
     + harbour/contrib/libct/invrtwin.prg
     - harbour/source/common/hbffind.c
     + harbour/source/common/hbverdsp.c
     - harbour/source/rdd/dbfcdx/dbfcdx1.h
     + harbour/source/rtl/hbffind.c
2004-10-11 23:16:07 +00:00
Przemyslaw Czerpak
ef0883bf02 2004-10-11 21:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/Makefile
  + harbour/make_bsd.sh
  + harbour/make_drw.sh
  * harbour/make_tgz.sh
  + harbour/bin/hb-func.sh
  * harbour/bin/pack_src.sh
  + harbour/bin/postinst.bat
  + harbour/bin/postinst.sh
  * harbour/config/dir.cf
  * harbour/config/bsd/gcc.cf
  * harbour/config/bsd/global.cf
  + harbour/config/darwin/dir.cf
  + harbour/config/darwin/gcc.cf
  + harbour/config/darwin/global.cf
  + harbour/config/darwin/install.cf
  * harbour/config/dos/dir.cf
  * harbour/config/dos/global.cf
  * harbour/config/dos/install.cf
  * harbour/config/dos/owatcom.cf
  * harbour/config/dos/watcom.cf
  * harbour/config/linux/gcc.cf
  * harbour/config/linux/global.cf
  * harbour/contrib/Makefile
  * harbour/contrib/dot/pp_harb.ch
  * harbour/contrib/libct/Makefile
  * harbour/contrib/libct/bit1.c
  * harbour/contrib/libct/bit2.c
  * harbour/contrib/libct/bit3.c
  * harbour/contrib/libct/files.c
  * harbour/contrib/libct/ftoc.c
  - harbour/contrib/libct/invertwin.prg
  + harbour/contrib/libct/invrtwin.prg
  * harbour/contrib/libct/keyset.c
  * harbour/contrib/libct/makefile.bc
  * harbour/contrib/libmisc/dates2.c
  * harbour/contrib/rdd_ads/ads1.c
  * harbour/contrib/rdd_ads/adsfunc.c
  * harbour/contrib/samples/date.c
  * harbour/include/dbinfo.ch
  * harbour/include/hbapi.h
  * harbour/include/hbapicdp.h
  * harbour/include/hbapifs.h
  * harbour/include/hbapigt.h
  * harbour/include/hbapiitm.h
  * harbour/include/hbcomp.h
  * harbour/include/hbdate.h
  * harbour/include/hbdbf.h
  * harbour/include/hbdbferr.h
  * harbour/include/hbdefs.h
  * harbour/include/hbexprb.c
  * harbour/include/hbexprc.c
  * harbour/include/hbexprop.h
  * harbour/include/hbmacro.h
  * harbour/include/hbmath.h
  * harbour/include/hbpcode.h
  * harbour/include/hbrddcdx.h
  * harbour/include/hbrdddbf.h
  * harbour/include/hbrdddbt.h
  * harbour/include/hbrddfpt.h
  * harbour/include/hbrddntx.h
  * harbour/include/hbset.h
  * harbour/include/hbsetup.h
  * harbour/include/set.ch
  * harbour/source/common/Makefile
  * harbour/source/common/expropt1.c
  * harbour/source/common/expropt2.c
  - harbour/source/common/hbffind.c
  * harbour/source/common/hbfsapi.c
  * harbour/source/common/hbstr.c
  * harbour/source/common/hbver.c
  + harbour/source/common/hbverdsp.c
  * harbour/source/compiler/genc.c
  * harbour/source/compiler/gencli.c
  * harbour/source/compiler/harbour.c
  * harbour/source/compiler/harbour.l
  * harbour/source/compiler/harbour.slx
  * harbour/source/compiler/harbour.sly
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/hbfix.c
  * harbour/source/compiler/hbpcode.c
  * harbour/source/compiler/hbusage.c
  * harbour/source/compiler/simplex.c
  * harbour/source/macro/macro.l
  * harbour/source/macro/macro.slx
  * harbour/source/macro/macro.y
  * harbour/source/pp/ppcore.c
  * harbour/source/rdd/dbcmd.c
  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  - harbour/source/rdd/dbfcdx/dbfcdx1.h
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rtl/Makefile
  * harbour/source/rtl/abs.c
  * harbour/source/rtl/at.c
  * harbour/source/rtl/datec.c
  * harbour/source/rtl/dates.c
  * harbour/source/rtl/dateshb.c
  * harbour/source/rtl/datesx.c
  * harbour/source/rtl/empty.c
  * harbour/source/rtl/errorapi.c
  * harbour/source/rtl/errorint.c
  * harbour/source/rtl/filesys.c
  * harbour/source/rtl/fstemp.c
  + harbour/source/rtl/hbffind.c
  * harbour/source/rtl/hbrandom.c
  * harbour/source/rtl/idle.c
  * harbour/source/rtl/inkey.c
  * harbour/source/rtl/math.c
  * harbour/source/rtl/minmax.c
  * harbour/source/rtl/pad.c
  * harbour/source/rtl/padc.c
  * harbour/source/rtl/padl.c
  * harbour/source/rtl/padr.c
  * harbour/source/rtl/philes.c
  * harbour/source/rtl/round.c
  * harbour/source/rtl/soundex.c
  * harbour/source/rtl/str.c
  * harbour/source/rtl/strcase.c
  * harbour/source/rtl/strmatch.c
  * harbour/source/rtl/strtran.c
  * harbour/source/rtl/strzero.c
  * harbour/source/rtl/substr.c
  * harbour/source/rtl/val.c
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/gtcrs/kbdcrs.c
  * harbour/source/rtl/gtdos/gtdos.c
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/rtl/gtsln/kbsln.c
  * harbour/source/rtl/gtsln/keytrans.c
  * harbour/source/vm/arrays.c
  * harbour/source/vm/codebloc.c
  * harbour/source/vm/estack.c
  * harbour/source/vm/eval.c
  * harbour/source/vm/extend.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/itemapi.c
  * harbour/source/vm/macro.c
  * harbour/source/vm/memvars.c
  * harbour/source/vm/runner.c
  * harbour/tests/bldtest/bldtest.c
  * harbour/utils/hbtest/hbtest.prg
  * harbour/utils/hbtest/rt_misc.prg
  * harbour/utils/hbtest/rt_str.prg
   * Sorry but it's too much modification for full description
     cvs diff gives file 785982 bytes length. So I only count the
     main things:
   ! cleand the code (no more warning messages under Linux and GCC and
     DOS OpenWatcom) - some of them were real bugs
   ! cleaned all endian dependend code I've found - now Harbour can be
     compiled on LITLE and BIG endian machines - for some other like
     PDP ENDIAN it's enough to define proper macros in hbdefs.h
   + added macros for to get/put values in chosen byte order:
         HB_GET_LE_[U]INT{16,24,32,64}( pPtr )
         HB_GET_BE_[U]INT{16,24,32,64}( pPtr )
         HB_PUT_LE_[U]INT{16,24,32,64}( pPtr, nVal )
         HB_PUT_BE_[U]INT{16,24,32,64}( pPtr, nVal )
   + added macro HB_CAST_BYTE_NUMBERS_OFF which disables casting in
     HB_{GET|PUT}_{LE|BE}_* macros - it's necessary for some platforms
     like ALPHA DEC.
   ! cleaned the code for 64bit machines
   * changed all parameters in hb_date* functions (day, month, year, week)
     from LONG to int - it doesn't change binary compatibility for 32bit
     machines but can cause troubles with compiling the old source
   + changed HB_IT_LONG type to HB_LONG which is mapped to long long
     by default for 32 bit machines.
   + change HB_IT_INTEGER to be real 'int' C type not 'short int'
   + added HB_IS_NUMINT() macro
   + added hb_parnll, hb_stornll, hb_retnll, hbretnlllen, hb_itemPutNLL,
     hb_itemPutNLLLen, hb_itemGetNLL which operates on LONGLONG
   + added hb_parnint, hb_stornint, hb_retnint, hb_retnintlen,
     hb_itemPutNInt, hb_itemPutNIntLen, hb_itemGetNInt which operates on
     HB_LONG
   + added HB_PUSHLONGLONG pcode
   + changed compiler and optimizer to use HB_LONG numbers and reduce
     conversion from to double which may damage the 64bit number.
   + common functions for string to number conversions for compiler, RTL
     and RDD to reduce problems with differ FL values for the same number:
     hb_compStrToNum(), hb_valStrnToNum(), hb_strToNum(), hb_strnToNum()
   + common function hb_numRoun() which uses exactly the same algorithms
     as string to number conversion for the same reason - please keep
     this functions together.
   + hack inside hb_numRound() similar to the one used by CL5.3
   + hb_numInt() which uses uses the same hack as hb_numRound()
   + rewritten number to string conversion
   + some new string manipulation functions hb_strncpy(), hb_strncat(), ...
     They works differ the the C one - always set 0 at the end, the buffer
     has to be n+1 bytes length, the n is total size of buffer not the
     left free space.
   ! cleaned some code which operates on ASCIIZ string to avoid potential
     buffer overflow
   + updated RDD code - it's the first part - in few days I plan to change
     workarea structure in both projects - it will break any 3rd party RDDs
     so they have to be updated. I want to add SUPERTABLE into workarea
     to allow creating new RDD on-line.
   ! cleaned the bugs with negating integers - on most machines (like x86)
     the integers are not 0 symmetric - it means that x = -x does not work
     for {INT,LONG,LONGLONG}_MIN (hb_vmNegate, ABS())
   + cleaned error messages to be Clipper compatible.
   + updated build process for .DEB packages - now hb* scripts and shared
     libs are created by standard make install
   * added new .prg #defines: __PLATFORM__<cPlatfrom>,
     __ARCH{16|32|64}BIT__, __LITTLE_ENDIAN__|__BIG_ENDIAN__|__PDP_ENDIAN__
     !!! cPlatfrom can have lower letters (for xHarbour compatibility)
     If you do not like it please change it.
   * others ...
2004-10-11 20:44:30 +00:00
Ryszard Glab
ec407c3d59 2004-09-08 16:40 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* include/hbapi.h
   * source/vm/dynsym.c
      * a new function 'hb_dynsymScope' was added to check if the
      passed symbol has requested scope

   * source/vm/macro.c
   * source/vm/hvm.c
      * fixed support for static functions used in macro compiled
      expressions (the runtime error is generated during evaluation
      instead of macro compilation - like in Clipper)

   * source/pp/ppcore.c
      * fixed support for '&macro.' in complex expressions
2004-09-08 14:32:51 +00:00