Commit Graph

1906 Commits

Author SHA1 Message Date
Viktor Szakats
ccd1a88f7b 2008-11-05 19:16 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* bin/hb-func.sh
  * include/hbstdgen.ch
  * include/hbver.h
  * contrib/examples/pp/pp.c
  * source/pp/ppcore.c
  * source/pp/hbpp.c
  * source/common/hbver.c
    * HB_VER_REVISION -> HB_VER_RELEASE.
      INCOMPATIBLE.
2008-11-05 18:19:06 +00:00
Viktor Szakats
efa79fba05 2008-11-05 13:15 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* make_vc.mak
    * -GA option only used for HB_VISUALC_VER >= 70.
      Please update this if older versions also support it.

  * include/hbver.ch
  * source/common/hbver.c
    * Some more fiddling with version number terminology and 
      hb_version() values:
      HB_VERSION_MICRO          -> HB_VERSION_RELEASE
      HB_VERSION_BLD_DATE_STR   -> HB_VERSION_BUILD_DATE_STR
      HB_VERSION_BLD_DATE       -> HB_VERSION_BUILD_DATE
      HB_VERSION_BLD_TIME       -> HB_VERSION_BUILD_TIME
      HB_VERSION_CHANGELOG_REV  -> HB_VERSION_CHANGELOG_ID
      Third part of version number could also be: PATCH, MICRO, BUILD
      SVN revision could also be: BUILD
      BUILD is inherently connected with a physical binary, so 
      I dropped it, PATCH is limiting and negativ, MICRO is not 
      very common (otherwise good), so a finally opted for 
      RELEASE. REVISION kept as is.
    ; If there are no objections I'll HB_VER_REVISION macro to 
      HB_VER_RELEASE. This will be an INCOMPATIBLE change, but 
      I expect not too many ppl being affected.

  * TODO
    - Removed MT as a TODO. Thanks Przemek for the nice job.
2008-11-05 12:16:30 +00:00
Przemyslaw Czerpak
c1318e95cd 2008-11-05 03:01 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/source/vm/hashes.c
  * harbour/source/vm/hashfunc.c
    * changed hb_hSort() to execute sorting when hash is marked as needed
      resorting instead of marking hash for resorting

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

  * harbour/contrib/hbdbgfx/dbgfxc.c
    ! fixed casting in ASCII build
    + added support for UNICODE builds

  * harbour/contrib/gtwvg/gtwvg.c
    * cover LWA_ALPHA usage by #if ( _WIN32_WINNT >= 0x0500 )
      to keep at least compile time compatibility with older systems
2008-11-05 02:01:15 +00:00
Viktor Szakats
5cb6ba8159 2008-11-04 22:53 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
    + Added new HB_H*() functions.
2008-11-04 21:53:35 +00:00
Viktor Szakats
d28d0d79d3 2008-11-04 22:50 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * common.mak
  * source/codepage/Makefile
  + source/codepage/cpes850.c
    + Added ES850 - Modern Spanish.

  * include/hbextern.ch
    ! Added ITWIN.

  * source/codepage/cpesisoc.c
  * source/codepage/cpsviso.c
  * source/codepage/cpesiso.c
  * source/codepage/cpitwin.c
    + Added my copyright.

  * ChangeLog
    ; Some TODO/TOFIXes marked as [DONE]
2008-11-04 21:51:51 +00:00
Przemyslaw Czerpak
bb49e3711a 2008-11-04 22:39 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/source/vm/hashfunc.c
  * harbour/source/vm/hashes.c
    + added support for binary key order
    % enable binary internal key order by default for new hash arrays
    + added .prg function to enable/disable/retrive binary order in hash
      items:
         hb_hSetBinary( <hValue>, <lOnOff> ) => <hValue>
         hb_hBinary( <hValue> [, <lBinary> ] ) => <lBinary>
    + added support for hash array resorting. It's activated automatically
      on 1-st key access/assign after changing binary or casematch hash
      array flag
    + added .prg function hb_hSort( <hValue> ) => <hValue> which marks
      hash array for sorting

  * harbour/source/rtl/itemseri.c
    % improved performance of hash array deserialization
      TODO: add support for hash array flags and hash default value
            serialization
2008-11-04 21:39:10 +00:00
Viktor Szakats
6fd1776d74 2008-11-04 13:06 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
   * common.mak
   * source/codepage/Makefile
   * source/codepage/cpeswinm.c
   - source/codepage/cpes850.c
   + source/codepage/cpes850c.c
   * source/codepage/cpesiso.c
   + source/codepage/cpesisoc.c
   * source/codepage/cpeswin.c
   + source/codepage/cpeswinc.c
   * source/codepage/cpesisom.c
     * Spanish language support cleaned:
       Modern collation made the default, fixed 
       CP linkage in ESWIN collations, Clipper 
       compatibility versions renamed to have an 
       ending 'C'
       Now the following collations are supported:
       ES850C - Clipper compatibility CP: IBM850
       ESWINC - Clipper compatibility CP: Windows-1252
       ESISOC - Clipper compatibility CP: ISO-8859-1
       ESWIN  - Modern CP: Windows-1252
       ESISO  - Modern CP: ISO-8859-1
       ESMWIN - Compatibility with previous Harbour versions and xhb.
                (this collation has wrong linkage, so everyone is 
                encouraged to use ESWIN or ESISO instead.)
                Intentionally not added to hbextern.ch.
     ; TODO: Add ES850.
     ; TODO: Check whether Clipper compatibility is indeed true.
2008-11-04 12:15:17 +00:00
Viktor Szakats
23db8de299 2008-11-04 09:46 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
    + Added HB_CODEPAGE_SVISO.
2008-11-04 08:47:17 +00:00
Przemyslaw Czerpak
e2ef86bf9b 2008-11-04 09:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbgtcore.h
    ! added missing 'extern' in hb_gt_dos_keyCodeTranslate() declaration

  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gtpca/gtpca.c
    + added support for console input in OpenWatcom builds

  * harbour/source/vm/vmmt/Makefile
    ! removed mainpm.c

  * harbour/contrib/xhb/hbcrypt.c
    ! fixed casting
2008-11-04 08:39:45 +00:00
Przemyslaw Czerpak
0142b12622 2008-11-04 01:04 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbthread.h
    ! fixed typo

  * harbour/source/vm/Makefile
    * excluded mainpm.c from OS2 builds

  * harbour/source/rtl/hbinet.c
    * changed the #include order for OS2 OpenWatcom builds and added some
      cleanups - please test other builds.
2008-11-04 00:03:46 +00:00
Przemyslaw Czerpak
cbfce0fc00 2008-11-03 17:49 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbthread.h
    * include <process.h> in OpenWatcom OS2 builds
2008-11-03 16:49:06 +00:00
Przemyslaw Czerpak
3fba5f0231 2008-11-03 14:08 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbthread.h
  * harbour/source/vm/thread.c
    + added ULONG _hb_gettid( void ) to OS2 builds - thanks to Maurilio

  * harbour/source/rtl/hbinet.c
    * changed a little bit the order of including header files in OS2 builds
      (blink fix for OpenWatcom OS2 builds).
2008-11-03 13:08:04 +00:00
Viktor Szakats
2862e26a68 2008-11-03 12:13 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
    ! Synced codepage list with recent changes.
2008-11-03 11:13:39 +00:00
Viktor Szakats
5434b42adb 2008-11-03 09:56 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/fileio.ch
    * Formatting.
2008-11-03 08:56:31 +00:00
Viktor Szakats
3394d890da 2008-11-02 23:10 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbapicdp.h
  * common.mak
  * source/codepage/Makefile
  + source/codepage/uc855.c
  + source/codepage/uc874.c
  + source/codepage/uc1256.c
  + source/codepage/uc1258.c
  + source/codepage/uc860.c
  + source/codepage/uc862.c
  + source/codepage/uc864.c
  + source/codepage/uc775.c
  + source/codepage/uc1255.c
  + source/codepage/uc861.c
  + source/codepage/uc863.c
  + source/codepage/uc865.c
  + source/codepage/uc869.c
    + Added missing IBM/Windows codepages.

  * source/rtl/cdpapi.c
    * Formatting.
2008-11-02 22:11:36 +00:00
Viktor Szakats
d6f27ed30d 2008-11-02 21:15 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbapicdp.h
  * common.mak
  * source/codepage/Makefile
  + source/codepage/uc8859_3.c
  + source/codepage/uc8859_4.c
  + source/codepage/uc8859_6.c
  + source/codepage/uc8859_7.c
  + source/codepage/uc8859_8.c
  + source/codepage/uc8859_9.c
  + source/codepage/uc885910.c
  + source/codepage/uc885911.c
  + source/codepage/uc885913.c
  + source/codepage/uc885914.c
  + source/codepage/uc885915.c
  + source/codepage/uc885916.c
    + Added remaining 8859 codepages.
      0x00-0x1F chars are unstandard (following existing files).

  * source/codepage/uc8859_1.c
  * source/codepage/uc8859_2.c
    * Comments.
2008-11-02 20:18:46 +00:00
Viktor Szakats
bf2750e535 2008-11-02 16:33 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * common.mak
  * source/codepage/Makefile
  + source/codepage/cpro852.c
  + source/codepage/cprowin.c
    + Added Romanian codepages.
    ; TODO: Add ROISO variant.

  * source/codepage/uc1250.c
  * source/codepage/uc1251.c
  * source/codepage/uc1252.c
  * source/codepage/uc8859_5.c
  * source/codepage/uckam.c
    * Minor formatting.
2008-11-02 15:34:10 +00:00
Viktor Szakats
a5463c23e1 2008-11-02 14:56 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
    ! Readded HB_LANG_EN.
2008-11-02 13:56:22 +00:00
Viktor Szakats
294d83814d 2008-11-02 14:28 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
    ! Added all missing LANG and CODEPAGE modules.
      [TOMERGE 1.0]

  * ChangeLog
    - Removed duplicate entry of mine.

  * source/common/hbstr.c
  * source/rtl/version.c
  * source/rtl/filesys.c
    * Minor formatting.

  * source/codepage/cpcs852.c
  * source/codepage/cpsk852.c
  * source/codepage/cpcsiso.c
  * source/codepage/cpcswin.c
  * source/codepage/cpskiso.c
  * source/codepage/cpskwin.c
  * source/codepage/cpcskam.c
  * source/codepage/cpskkam.c
    * Removed unnecessary ending ';'
2008-11-02 13:29:00 +00:00
Przemyslaw Czerpak
962bc260b9 2008-11-02 13:36 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbexprb.c
    ! fixed possible GPF/internal memory corruption in code like:
         ? HB_I18N_GETTEXT_NOOP( "Ala ma kota" + " !!!" )
      Mindaugas, the fix is also the answer for the question you left
      in TODO.
2008-11-02 12:35:30 +00:00
Viktor Szakats
dddbc1c824 2008-11-02 07:33 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbstdgen.ch
    - Removed HB_VERSION mistakenly left there.

  * include/hbextern.ch
  * source/rtl/version.c
    + Added HB_OSISWINNT()
    + Added HB_OSISWINCE()
      [TOMERGE 1.0]

  * include/hbver.ch
  * source/rtl/version.c
    + Added:
      hb_version( HB_VERSION_MT )          -> <logical>
      hb_version( HB_VERSION_UNIX_COMPAT ) -> <logical>
      hb_version( HB_VERSION_PLATFORM )    -> <string> (same as ending of __PLATFORM__* macros)
      This makes these functions/macros deprecated:
      - HB_MTVM()
      - __PLATFORM__* (not for all possible situations)
    ; TOFIX: Cleanup REVISION/SVN term usage in source.
    ; TOFIX: Remove HB_VER_* predefined macro usage on .prg level.
    ; TODO: Removed some deprecated by hb_version() functions/macros.

  * include/hbapi.h
  * source/vm/itemapi.c
  * source/common/hbstr.c
  * source/common/expropt2.c
  * source/rtl/chrasc.c
  * source/rtl/hbi18n.c
    * Minor formatting.
2008-11-02 06:34:42 +00:00
Przemyslaw Czerpak
8ac56e0192 2008-11-01 15:20 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbdefs.h
    + added #define INCL_LONGLONG to include native compiler LONGLONG
      definition. It's necessary for OpenWatcom. Please check how it will
      interact with other OS2 compilers (GCC)
2008-11-01 14:19:35 +00:00
Viktor Szakats
e226b165e1 2008-11-01 12:02 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * source/rtl/memofile.c
    + Added HB_MEMOREAD() which is identical to MEMOREAD() 
      except it won't truncate the last byte (on non-UNIX 
      compatible systems) if it's a EOF char.
      See also existing HB_MEMOWRIT().
      [TOMERGE 1.0]
2008-11-01 11:02:57 +00:00
Viktor Szakats
8b7c4d690c 2008-11-01 11:11 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * source/rtl/hbi18n.c
    % Using buffered hb_file*() API in __I18N_LOAD() 
      instead of plain hb_fs*(). This will cause speedup when 
      buffering gets implemented in hb_file*(), because 
      currently two hb_fsRead() will be executed for each 
      string stored in the language file.
    - __I18N_LOAD(): Because of the above, passing a file handle 
      is no longer possible.
    + Added __I18N_LOADFROMMEMORY( <mem> ) => trs
    % Minor internal cleanups.
2008-11-01 10:17:45 +00:00
Viktor Szakats
3ac4e62591 2008-11-01 08:45 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * common.mak
  * source/rtl/Makefile
  + source/rtl/hbi18n.c
    + Added basic/low level i18n functions:
      __I18N_SAVE( cFileName | nHandle, aSortedTable [, cComment ] ) => lSuccess
      __I18N_LOAD( cFileName | nHandle ) => trs
      __I18N_GETTEXT( @cText, trs ) => NIL
    ; NOTE: These were originally based on Giancarlo Niccolai's work in xhb, 
            but everything was completely reworked, fixed, internals removed, 
            made portable, lighter, shorter and probably quicker. The used file 
            format is incompatible, slightly smaller and portable.
    ; NOTE: The internal format of 'trs' (loaded translation) is also 
            different. For minimal memory/speed overhead, I've choosen a one 
            dimensional array, as opposed to the original two dimensional 
            (like the input aSortedTable array).
    ; TODO: Higher level functions to handle selecting a default 
            language, loading files automatically, possibly caching 
            multiple loaded language translations in memory and providing 
            a high level HB_I18N_GETTEXT() function. We may also readd 
            a low-level function to create 'trs' from a memory object 
            instead of loading it from the disk. We should in any case make 
            the higher level the lightest and less app specific as possible.

  * include/hbver.ch
  * source/rtl/version.c
  * utils/hbtest/rt_str.prg
  * ChangeLog
    ! Fixed returning bit width.
    * Reworked hb_version() parameter values as follows:
      (also fixed some differences between docs here in the 
      previous entry and actual code)
      HB_VERSION_HARBOUR        (was: HB_V_HARBOUR        )
      HB_VERSION_COMPILER       (was: HB_V_COMPILER       )
      HB_VERSION_MAJOR          (was: HB_V_MAJOR          )
      HB_VERSION_MINOR          (was: HB_V_MINOR          )
      HB_VERSION_MICRO          (was: HB_V_REV            )
      HB_VERSION_STATUS         (was: HB_V_STATUS         )
      HB_VERSION_REVISION       (was: HB_V_COUNT          )
      HB_VERSION_BLD_DATE_STR   (was: HB_V_DATE_TIME      )
      HB_VERSION_BLD_DATE       (was: HB_V_DATE           )
      HB_VERSION_BLD_TIME       (was: HB_V_TIME           )
      HB_VERSION_PCODE_VER      (was: HB_V_PCODE          )
      HB_VERSION_PCODE_VER_STR  (was: HB_V_PCODE_STR      )
      HB_VERSION_CHANGELOG_LAST (was: HB_V_CHANGELOG_LAST )
      HB_VERSION_CHANGELOG_REV  (was: HB_V_CHANGELOG_REV  )
      HB_VERSION_FLAG_PRG       (was: HB_V_FLAG_HARBOUR   )
      HB_VERSION_FLAG_C         (was: HB_V_FLAG_C         )
      HB_VERSION_FLAG_LINKER    (was: HB_V_FLAG_LINKER    )
      HB_VERSION_BITWIDTH       (was: HB_V_BITWIDTH       )
      HB_VERSION_ENDIANNESS     (was: HB_V_ENDIANNESS     )
      This function makes deprecated following functions:
      - HB_COMPILER() => hb_version( HB_VERSION_COMPILER )
      - HB_PCODEVER() => hb_version( HB_VERSION_PCODE_VER_STR )
      - HB_BUILDDATE() => hb_version( HB_VERSION_BLD_DATE_STR )
      and macros:
      - __ARCH16BIT__
      - __ARCH32BIT__
      - __ARCH64BIT__
      - __LITTLE_ENDIAN__
      - __BIG_ENDIAN__
      - __PDP_ENDIAN__
      - HB_VER_SVNID
      - HB_VER_CHLID
      - HB_VER_LENTRY 
      - HB_VER_C_USR
      - HB_VER_L_USR
      - HB_VER_PRG_USR
    ; TOFIX: Some term anomalies regarding 'REVISION'.

  * source/vm/runner.c
    * Minor formatting and added "s_" prefix to static var.
2008-11-01 08:28:42 +00:00
Przemyslaw Czerpak
6822b74b3d 2008-10-30 15:03 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbvmpub.h
    + added HB_VM_ISFUNC(), HB_VM_FUNCUNREF() and HB_VM_EXECUTE()
      macros to operate on HB_SYMB structure

  * harbour/source/vm/hvm.c
  * harbour/source/vm/classes.c
     * use HB_VM_ISFUNC()/HB_VM_FUNCUNREF()/HB_VM_EXECUTE() macros
       for executing function inside HB_SYMB structure to avoid possible
       synchronization problems during modifications
2008-10-30 14:03:16 +00:00
Przemyslaw Czerpak
9ef577fbc0 2008-10-29 18:33 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbgtcore.h
  * harbour/source/rtl/hbgtcore.c
    + added PHB_GT hb_gt_ItemBase( PHB_ITEM pItemGT )
2008-10-29 17:32:40 +00:00
Przemyslaw Czerpak
a398da282e 2008-10-29 17:06 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcompdf.h
  * harbour/include/hbexprb.c
  * harbour/source/common/expropt1.c
  * harbour/source/common/expropt2.c
    ! change the expressions precedence - references to variables were
      wrongly marked as simple expressions

  * harbour/include/hbexpra.c
    ! fixed protection against wrong static initializers. Now code like:
         static s_var := { { func(), M->var } }
      or:
         static s_var := { "A" => { func() => M->var } }
      or:
         static s_var := { @M->var }
      or:
         static s_var := QSelf()
      is not accepted by compiler and error is generated at compile
      time instead of crashing at HVM startup when static variables
      are initialized
2008-10-29 16:06:31 +00:00
Przemyslaw Czerpak
e9657ea9d8 2008-10-28 20:08 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstack.h
  * harbour/source/vm/estack.c
    + added hb_stackReleaseTSD() function - this function can be called
      only in HVM cleanup state when all threads except the main one are
      released

  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
    * make RDDINFO settings in BDF* based RDDs thread local

  * harbour/include/hbclass.ch
    * minor modification
2008-10-28 19:08:28 +00:00
Przemyslaw Czerpak
591fe064a4 2008-10-28 15:56 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstack.h
    ! fixed fDebugRequest declaration
2008-10-28 14:56:29 +00:00
Przemyslaw Czerpak
ecddf89923 2008-10-28 10:24 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbxvm.h
  * harbour/source/vm/hvm.c
  * harbour/source/compiler/gencc.c
    + added finished by mistake support for hidden strings in -gc3 mode
2008-10-28 09:24:37 +00:00
Viktor Szakats
df0a70e6be 2008-10-28 01:52 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/Makefile
  * include/hbextern.ch
  + include/hbver.ch
  * source/rtl/version.c
    + Added HB_VERSION() unified version information 
      function. This can return these version related data:
      hb_version( HB_V_HARBOUR )        => <string>
      hb_version( HB_V_COMPILER )       => <string> 
      hb_version( HB_V_MAJOR )          => <num> 
      hb_version( HB_V_MINOR )          => <num> 
      hb_version( HB_V_REV )            => <num> 
      hb_version( HB_V_STATUS )         => <string> 
      hb_version( HB_V_COUNT )          => <num> 
      hb_version( HB_V_DATE_TIME )      => <string> 
      hb_version( HB_V_DATE )           => <date> 
      hb_version( HB_V_TIME )           => <string>
      hb_version( HB_V_PCODE )          => <num> 
      hb_version( HB_V_PCODE_STR )      => <string> 
      hb_version( HB_V_CHANGELOG_LAST ) => <string> 
      hb_version( HB_V_CHANGELOG_REV )  => <string> 
      hb_version( HB_V_FLAG_HARBOUR )   => <string> 
      hb_version( HB_V_FLAG_C )         => <string> 
      hb_version( HB_V_FLAG_LINKER )    => <string> 
      hb_version( HB_V_BITWIDTH )       => <num> 
      hb_version( HB_V_ENDIANNESS )     => <num> 
      This function makes deprecated following functions:
      - HB_COMPILER() => hb_version( HB_V_COMPILER )
      - HB_PCODEVER() => hb_version( HB_V_PCODE_VER_STR )
      - HB_BUILDDATE() => hb_version( HB_V_DATE_TIME )
      and macros:
      - __ARCH16BIT__
      - __ARCH32BIT__
      - __ARCH64BIT__
      - __LITTLE_ENDIAN__
      - __BIG_ENDIAN__
      - __PDP_ENDIAN__
    ; NOTE: If there are no objections, I'd remove the 
            __ARCH*BIT__ and __*ENDIAN__ predefined macros, 
            as these can be misleading on some systems.
    ; TODO: Implement HB_V_DATE and HB_V_TIME.
    ; TODO: Add HB_MTVM() functionality.
    ; TODO: Add __PLATFORM__* equivalent.
    ; TODO: Add HB_OS_UNIX_COMPATIBLE equivalent.

  * include/hbextern.ch
  * include/hbapifs.h
  * common.mak
  * source/rtl/Makefile
  + source/rtl/fscopy.c
    + Added C level hb_fsCopy() function.
    + Added .prg level HB_FCOPY() function.
2008-10-28 02:20:23 +00:00
Viktor Szakats
1d64164476 2008-10-28 00:57 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * source/vm/cmdarg.c
    + Added HB_CMDLINE() .prg level function to return 
      the full command line. Currently it does reassemble 
      it from hb_argc/hb_argv.

  * contrib/rddsql/mysqldd.c
    ! Fixed MSVC casting errors in C++ mode.

  * include/hbwmain.c
  * source/vm/cmdarg.c
    * Moved argv[ 0 ] generation on Windows platform, so 
      that it now gets properly filled with the full 
      executable file path for console mode (GTWIN) 
      apps in all situations (f.e. when run from a 
      batch file using '%~n1.exe' macro).

  * source/rtl/hbinet.c
    ! Fixed to use safe strerror() (named strerror_s()) 
      under MSVS 2005 and upper.
      Please test.

  * source/hbzlib/gzio.c
    + Added _CRT_SECURE_NO_DEPRECATE locally to suppress 
      various MSVC unsafe CRT API usage warnings. Maybe it'd 
      be better to fix these by using Harbour APIs.

  * utils/hbdoc/gentrf.prg
    ! Fixed missing "common.ch"
2008-10-28 00:07:16 +00:00
Viktor Szakats
c4636942ec 2008-10-27 21:43 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* contrib/Makefile
  * contrib/make_vc_all.bat
  * contrib/make_b32_all.bat
  * contrib/make_gcc_all.sh
    + Added rddsql to default builds.
      Please test.

  * contrib/hbdbgfx/dbgfxc.c
    * Added TODO. (multiplatform support in one the functions)

  * include/hbsetup.h
  * include/hbexprb.c
  * contrib/hbct/ctnet.c
  * contrib/hbct/color.c
  * contrib/hbct/dattime2.c
  * contrib/xhb/hboutdbg.c
  * contrib/hbtpathy/tpwin32.c
  * contrib/hbmzip/hbmzip.c
  * contrib/hbsqlit3/hbsqlit3.c
  * contrib/hbfbird/firebird.c
  * contrib/hbziparc/hbzipcpp.old
  * contrib/hbnf/getver.c
  * contrib/hbpgsql/postgres.c
  * contrib/hbclipsm/gauge.c
  * contrib/rddads/adsfunc.c
  * contrib/rddads/ads1.c
  * contrib/hbgd/gdwrp.c
  * contrib/hbmisc/spd.c
  * contrib/hbtip/utils.c
  * contrib/hbwin/win_prt.c
  * contrib/examples/pp/hbppcore.c
  * contrib/examples/pp/hbppcomp.c
  * source/pp/pplib.c
  * source/pp/ppcore.c
  * source/pp/hbpp.c
  * source/vm/estack.c
  * source/vm/debug.c
  * source/vm/itemapi.c
  * source/vm/hvm.c
  * source/vm/cmdarg.c
  * source/vm/fm.c
  * source/vm/extrap.c
  * source/vm/classes.c
  * source/main/harbour.c
  * source/common/hbver.c
  * source/common/hbverdsp.c
  * source/common/hbstr.c
  * source/common/hbdate.c
  * source/rtl/gtxwc/gtxwc.c
  * source/rtl/hbgtcore.c
  * source/rtl/gtcrs/gtcrs.c
  * source/rtl/errorint.c
  * source/rtl/gtsln/gtsln.c
  * source/rtl/gttrm/gttrm.c
  * source/rtl/gtpca/gtpca.c
  * source/rtl/fkmax.c
  * source/rtl/langapi.c
  * source/rtl/hbffind.c
  * source/rdd/workarea.c
  * source/rdd/sdf1.c
  * source/rdd/delim1.c
  * source/rdd/dbf1.c
  * source/rdd/wafunc.c
  * source/compiler/hbmain.c
  * source/compiler/cmdcheck.c
  * source/compiler/hbpcode.c
  * source/compiler/genhrb.c
  * source/compiler/gencobj.c
  * source/compiler/genobj32.c
  * source/compiler/genc.c
  * source/compiler/hbusage.c
  * source/compiler/hbfunchk.c
  * source/compiler/hbgenerr.c
  * utils/hbmake/hbmgauge.c
    * Changed snprintf() calls to hb_snprintf().
    ; TODO: Finish the mappings in headers.

  * tests/wvtext.prg
  * include/inkey.ch
  * source/rtl/gtwvt/gtwvt.c
    * Changed K_HB_RESIZE to HB_K_RESIZE. The reason is 
      that we already got a HB_K_MULTICODE code (few lines 
      below, I didn't know about it before), and it's better 
      to keep consistency with that.
2008-10-27 20:55:24 +00:00
Przemyslaw Czerpak
4e457b25f1 2008-10-27 18:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbdefs.h
    + added HB_PRINTF_FORMAT() macro to declare functions with printf()
      like formatting parameters - now it works only for GCC compilers.

  * harbour/include/hbapi.h
    * declare hb_snprintf() with HB_PRINTF_FORMAT() attribute

  * harbour/source/rtl/philes.c
    + set FERROR() in HB_FLOCK()/HB_FUNLOCK()
    + accept extended lock attributes (WAIT/SHARE) in HB_FLOCK()
2008-10-27 17:05:30 +00:00
Viktor Szakats
d7af644364 2008-10-27 14:47 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * source/rtl/philes.c
    + Added HB_FLOCK() / HB_FUNLOCK() file locking 
      functions.
      [TOMERGE 1.0]

  * source/rtl/tget.prg
    ! Accessing of Get() variables below made 
      C5.x compatible when a new value was 
      assigned to them as function call, rather 
      then normal assigment.
      :buffer, :changed, :clear, :col, :colorSpec
      :minus, :pos, :row, :subScript, :postBlock, 
      :preBlock, :cargo, :exitState, :reader.
    ; NOTE: Please report if any of the side cases 
            still don't work.
      [TOMERGE 1.0]
2008-10-27 13:48:01 +00:00
Viktor Szakats
d1dc70f971 2008-10-27 12:03 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* make_vc.mak
  * contrib/mtpl_vc.mak
    - Removed no longer necessary '-D_CRT_SECURE_NO_DEPRECATE' 
      for MSVS 2005 and upper.

  * include/hbsetup.h
    * Mapping snprintf() calls to hb_snprintf().
    ; TODO: Replace the calls in source code.

  * source/common/hbstr.c
    ! Fixed hb_snprintf(). Please verify on your platforms.
    ; TODO: It may need further tweaking to smooth out the 
            platform implementation differences.
2008-10-27 11:11:02 +00:00
Viktor Szakats
b5e9969713 2008-10-27 11:29 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbapi.h
  * source/common/hbstr.c
    + Added return value to hb_snprintf().
2008-10-27 10:30:03 +00:00
Viktor Szakats
bfd31350c2 2008-10-27 11:26 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/common/hbstr.c
    * Some tweaks to hb_snprintf(). It still doesn't work 
      for some reason.

  * include/hbapi.h
    + Added hb_snprintf() to header.

  * source/debug/dbgentry.c
    * Changed strcpy() to hb_strncpy(). Chances are high 
      this is wrong. Please review and test.
2008-10-27 10:26:54 +00:00
Pritpal Bedi
32b21b9bfd 2008-10-25 17:55 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* harbour/include/hbgtinfo.ch
    + Added HB_GTI_SETPOS_XY
    + Added HB_GTI_SETPOS_ROWCOL
  
  * harbour/rtl/gtwvt/gtwvt.c
    ! Updated to honor HB_GTI_SETPOS_XY | HB_GTI_SETPOS_ROWCOL commands.

  * harbour/tests/wvtext.prg
    ! Updated to demonstrate HB_GTI_SETPOS_XY|ROWCOL window positioning.

    ; Now every next browser window opens 20x20 pixels away from 
      previous window, a GT imposed Z-Order.
2008-10-26 01:00:37 +00:00
Pritpal Bedi
68a537991b 2008-10-25 14:49 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* harbour/rtl/gtwvt/gtwvt.h
    + Added <ResizeMode> member to HB_GTWVT

  * harbour/include/hbgtinfo.ch
    + Added HB_GTI_RESIZEMODE 
    + Added HB_GTI_RESIZEMODE_FONT
    + Added HB_GTI_RESIZEMODE_ROWS

  * harbour/include/inkey.ch
    + Added K_HB_RESIZE  1101

  * harbour/rtl/gtwvt/gtwvt.c
    ! Updated to accomodate HB_GTI_RESIZEMODE.

  * harbour/rtl/hbgtcore.c
    ! static BOOL hb_gt_def_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo )
      {
         case HB_GTI_RESIZEMODE:
            pInfo->pResult = hb_itemPutNInt( pInfo->pResult, HB_GTI_RESIZEMODE_FONT );
            break;

  * harbour/tests/wvtext.prg
    ! Updated to demonstrate K_HB_RESIZE event in navigation loop.
    ; Odd numbered windows will have HB_GTI_RESIZEMODE_ROWS mode
      Even numbered windows will have HB_GTI_RESIZEMODE_FONT mode.
      Open two or more browsers to see the effects. 

    ; To activate HB_GTI_RESIZEMODE_ROWS mode call
         hb_gtInfo( HB_GTI_RESIZEMODE, HB_GTI_RESIZEMODE_ROWS )
      and whenever window will be resized you can retrieve it via 
         if inkey() == K_HB_RESIZE
            // Reconfigure browser/your screen accordingly
         endif
2008-10-25 22:08:57 +00:00
Viktor Szakats
4008e7fbf5 2008-10-24 12:26 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
    + Added recent .prg level functions.
2008-10-24 10:26:48 +00:00
Przemyslaw Czerpak
1ad4e9c53a 2008-10-24 12:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/gtxwc/gtxwc.c
    * added hack for problems with some XLIB versions in heavy stress
      MT tests

  * harbour/include/hbapigt.h
  * harbour/source/vm/thread.c
    * added parameter to hb_gtAlloc() C function

  * harbour/include/hbapigt.h
  * harbour/source/rtl/hbgtcore.c
    + added hb_gtCreate() and hb_gtSwap() C functions
    + added new .prg functions:
         HB_GTCREATE( <cGtName> ) -> <pGT>
         HB_GTSELECT( <pGT> ) -> <pPrevGT>
      Using this functions is possible to create many console window
      if GT supports such possibilities (f.e. GTXWC or GTWVT) even in
      single thread programs and switch between them.

  * harbour/source/rtl/box.c
    ! fixed one of recent DISPBOX() modifications - it should use:
      hb_gtBoxEx() instead of hb_gtDrawBox() to set cursor position.

  + harbour/tests/gtwin.prg
    + added demonstration/test code for using more then one console window
      also in single thread programs.
2008-10-24 10:00:30 +00:00
Przemyslaw Czerpak
520a0a0206 2008-10-22 05:03 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstack.h
  * harbour/include/hbgtcore.h
  * harbour/include/hbthread.h
  * harbour/include/hbapigt.h
  * harbour/source/vm/estack.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/thread.c
  * harbour/source/rtl/hbgtcore.c
    + added support for optional allocating independent console window by
      each thread. By default new thread inherits console Window from
      parent thread. But each thread can allocate its own console window
      by calling hb_gtReload( <cGtName> ) function, f.e. by:
         hb_gtReload( hb_gtVersion() )
      If GT driver supports such functionality then new it will allocate
      new console windows.
      Each console window has reference counter which is increased when
      new thread starts and decreased when hb_gtReload() is executed or
      thread terminates. When counter reach zero give console window is
      destroyed.

  * harbour/source/rtl/gtwvt/gtwvt.c
    ! use SendNotifyMessage() instead of SendMessage() to not block
      threads which inherited GT from parent thread. Why non of MS-Win
      users reported this problem?
    + added reference counter to window class for multi GT support

  + harbour/tests/mt/mttest10.prg
    + added demonstration/test code for using independent console window
      in different threads. It needs GT driver which supports such
      functionality, f.e GTXWC in *nixes or GTWVT in MS-Windows

  * harbour/tests/mt/mttest09.prg
    ! fixed typo in comment
2008-10-22 03:03:58 +00:00
Przemyslaw Czerpak
0cef1d4902 2008-10-21 22:18 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapigt.h
  * harbour/source/rtl/console.c
  * harbour/source/rtl/filesys.c
    * use HB_STD{IN,OUT,ERR}_HANDLE macros instead of hard coded values

  * harbour/include/hbgtcore.h
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/gtapi.c
    + added optional support for dynamic supertables
    + added reference counter to HB_GT_BASE structure
    - removed hb_gtUnLoad() function
    + added hb_gtAlloc(), hb_gtRelease(), hb_gtAttach()
    + added hb_gtRealod() function which unloads current GT driver
      and loads given new one
    + added .prg function HB_GTRELOAD( <cGtName> ) -> <lSuccess>
      This function allow to switch active GT driver at run time.
      It can be also used to simulate removed HB_NOSTARTUPWINDOW()
      functionality. F.e.:

         REQUEST HB_GT_WVT
         REQUEST HB_GT_NUL_DEFAULT
         proc main()
            // do some initializations...
            hb_gtReload( "WVT" )
            // rest of code...
         return

      Please remember that some GTs may refuse initialization due to
      missing required resources and instead of return FALSE they can
      interrupt program with internal error, just like at application
      startup so it's not guarantied that this function always returns.

  * harbour/contrib/hbct/ctwin.c
    * updated for new GT API
    + added support for dynamic supertable to allow using CTWIN in the
      same time with different GTs.

  * harbour/contrib/xhb/hbcompat.h
    - removed hb_retclenAdoptRaw translation
2008-10-21 20:19:00 +00:00
Miguel Angel Marchuet Frutos
08be73b95c 2008-10-21 13:17 UTC+0100 Miguel Angel Marchuet <miguelangel@marchuet.net>
* contrib/xhb/hbcompat.ch
  * contrib/xhb/hbcompat.h
    + added compatibilities.
  * include/fileio.ch
  * source/rtl/filesys.c
    * minor sintax correction.
2008-10-21 11:16:35 +00:00
Przemyslaw Czerpak
e76017d28c 2008-10-20 01:18 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstack.h
    ! added HB_EXPORT to hb_stack*() functions used in -gc3 code
2008-10-19 23:18:33 +00:00
Viktor Szakats
a2385b1c55 2008-10-19 09:00 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * include/assert.ch
  * common.mak
  * source/rtl/Makefile
  - source/rtl/strtrim.c
  + source/rtl/hbntos.c
  * contrib/xhb/hbcompat.ch
  * source/debug/dbgthsh.prg
  * source/debug/tbrwtext.prg
  * source/debug/dbgwa.prg
  * source/debug/debugger.prg
  * source/debug/dbgtarr.prg
  * source/rtl/errorsys.prg
  * source/rtl/valtoexp.prg
  * source/rtl/getsys.prg
  * source/rtl/tgetlist.prg
  * source/rtl/browse.prg
  * source/rtl/alert.prg
  * source/rtl/tclass.prg
  * source/rtl/tsymbol.prg
  * source/rtl/tscalar.prg
  * source/rtl/tpersist.prg
  * utils/hbmake/hbmake.prg
  * utils/hbrun/hbrun.prg
    * Renamed hb_N2S() to hb_NToS() which feels more 
      natural in Clipper.
2008-10-19 07:02:22 +00:00
Viktor Szakats
e6b20f05a4 2008-10-19 00:17 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/assert.ch
  * contrib/xhb/hbcompat.ch
  * source/debug/tbrwtext.prg
  * source/debug/dbgthsh.prg
  * source/debug/debugger.prg
  * source/debug/dbgwa.prg
  * source/debug/dbgtarr.prg
  * source/rtl/errorsys.prg
  * source/rtl/valtoexp.prg
  * source/rtl/getsys.prg
  * source/rtl/tgetlist.prg
  * source/rtl/browse.prg
  * source/rtl/alert.prg
  * source/rtl/tscalar.prg
  * source/rtl/tpersist.prg
  * utils/hbmake/hbmake.prg
  * utils/hbrun/hbrun.prg
    % Using hb_N2S() instead of LTrim( Str() ) expressions.
    ; NOTE: contribs and hbdoc not touched yet.
2008-10-18 22:23:45 +00:00
Viktor Szakats
2ab83da8a1 2008-10-19 00:05 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* common.mak
  * include/hbextern.ch
  * source/rtl/Makefile
  + source/rtl/strtrim.c
    + Added function HB_N2S( <number> ) -> <string>.
      This is equivalent to LTrim( Str( <number> ) ), 
      just faster.

  * source/rtl/dircmd.prg
  * source/rtl/tget.prg
    * Minor cleanup.
2008-10-18 22:07:57 +00:00