Commit Graph

1897 Commits

Author SHA1 Message Date
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
Viktor Szakats
ee26c1b8d6 2008-10-18 10:27 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbapi.h
  * source/common/hbgete.c
    + Added hb_getenv_buffer(). Similar to hb_getenv() but 
      this one needs a buffer+size to be passed, so no memory 
      allocation is done by the function. It also return 
      a BOOL to signal success. It doesn't signal if passed 
      buffer was too small to store the value.
2008-10-18 08:28:50 +00:00
Viktor Szakats
992016b359 2008-10-16 08:42 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/common.ch
  * contrib/hbziparc/hbziparc.prg
  * source/rtl/tclass.prg
  * source/rtl/hbini.prg
    * Minor formatting. (hb_Is*() -> hb_is*())

  * contrib/hbct/ctrand.prg
  * contrib/hbct/numconv.prg
  * contrib/hbct/cttime.prg
  * contrib/hbct/showtime.prg
  * contrib/hbwhat/hbwhat.ch
  * utils/hbrun/hbrun.prg
  * source/debug/dbgtobj.prg
  * source/debug/dbgbrwsr.prg
  * source/debug/dbgthsh.prg
  * source/debug/dbgtarr.prg
  * source/rtl/alert.prg
  * source/rtl/tbrowse.prg
    % ValType() -> IS*() / hb_is*()

  * contrib/hbwhat/hbwhat.ch
    % Using common.ch instead of replicating logic.
    * Some formatting.

  * utils/hbtest/hbtest.prg
    * Minor formatting.
2008-10-16 06:44:26 +00:00
Przemyslaw Czerpak
3ed8136c80 2008-10-15 17:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstack.h
  * harbour/source/vm/estack.c
  * harbour/source/vm/hvm.c
  * harbour/source/debug/dbgentry.c
  * harbour/source/debug/debugger.prg
    * moved debugRequest flag and debugger internal structure
      pointer to HVM stack
    * allocate debugger internal structure dynamically in thread
      thread local area when PCODE with debug information is executed
    * changed STATIC s_oDebugger to THREAD STATIC
    * send HB_DBG_VMQUIT after each thread termination when
      debugger is activated
      Now debugger can be used in MT programs and each thread can be
      debugged separately (each has its own debuger). Please only
      remember that thread sharing console window can overwrite other
      threads debugger screen. There is also one limitation which I'll
      try to remove later: only main thread debugger keeps information
      about file wide STATIC names and line numbers with possible break
      point places. This data should be shared between debuggers.
2008-10-15 15:51:02 +00:00
Przemyslaw Czerpak
11fe9fff36 2008-10-15 13:32 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/source/vm/hvm.c
  * harbour/source/vm/estack.c
    * disabled all debugger related bindings and variables when
      HB_NO_DEBUG macro is set
    % moved s_fDebuging to HVM function stack frame to eliminate
      saving/restoring this variable in each function/message call
      Note: if you think it's good to block linking .prg code compiled
            with -b (debugger support) with HVM compiled with HB_NO_DEBUG
            then it's enough to disable whole hb_dbg_SetEntry() function
            in hvm.c when HB_NO_DEBUG macro is set.
2008-10-15 11:32:43 +00:00
Przemyslaw Czerpak
b0a88e24ff 2008-10-15 00:31 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbxvm.h
  * harbour/source/vm/hvm.c
    - removed to unused functions

  * harbour/source/vm/thread.c
    - removed unnecessary casting
2008-10-14 22:32:03 +00:00
Viktor Szakats
c9dc573359 2008-10-14 19:23 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
    + Added hb_macroBlock()

  * source/rtl/langapi.c
    * One error text changed to be more precise.

  * doc/gmake.txt
  * bin/bld.bat
  * contrib/hbbtree/tests/bld_vc.bat
  * contrib/examples/pp/bld_vc.bat
  * contrib/examples/guestbk/bld_vc.bat
  * contrib/examples/pe/bld_vc.bat
  * contrib/examples/dbu/bld_vc.bat
  * contrib/examples/hscript/bld_vc.bat
  * utils/hbdoc/bld_vc.bat
  * utils/hbmake/bld_vc.bat
  * utils/hbmake/hbmake.prg
    - Removed MSVC -TP switches.
2008-10-14 17:26:24 +00:00
Przemyslaw Czerpak
d8af011440 2008-10-14 11:51 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/source/vm/macro.c
    * added missing const attribute to hb_macroCompile() parameter
    + added new .prg function:
         hb_macroBlock( <cExpr> ) -> <bCode>
      which converts macro expression to codeblock. New codeblocks
      do not inherit hb_macroBlock() caller scope/attributes.
2008-10-14 09:51:37 +00:00
Viktor Szakats
005bc1d9f7 2008-10-13 22:27 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* tests/transtst.prg
  * doc/en/string.txt
  * doc/en/compiler.txt
  * doc/en/macro.txt
  * doc/en/browse.txt
  * doc/en/binnum.txt
  * doc/es/macro.txt
  * doc/es/browse.txt
  * doc/es/binnum.txt
  * doc/transfrm.txt
  * doc/whatsnew.txt
  * include/hbclass.ch
  * include/hbmacro.ch
  * include/hbexprb.c
  * ChangeLog
  * contrib/hbvpdf/hbvpdft.prg
  * contrib/hbwhat/import.ch
  * source/vm/macro.c
  * source/rtl/tobject.prg
  * source/rtl/tthreadx.prg
  * source/rtl/transfrm.c
  * source/rtl/tget.prg
  * source/rtl/isprint.c
  * source/rtl/tbrowse.prg
  * source/rdd/wacore.c
  * source/rdd/dbdetach.c
  * utils/hbtest/rt_trans.prg
    * Xbase++ name references cleaned.

  * common.mak
  * source/rdd/Makefile
  * source/rdd/dbdetach.c
  + source/rdd/dbdetacx.c
    * Moved XBase++ compatibility functions to separate file.
2008-10-13 20:33:26 +00:00
Przemyslaw Czerpak
f97d4e1cda 2008-10-13 21:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbwince.h
  * harbour/source/common/hbwince.c
    ! fixed LastError overwriting inside WinCE wrapper functions
2008-10-13 19:30:38 +00:00