Commit Graph

166 Commits

Author SHA1 Message Date
Przemyslaw Czerpak
dd2ee1d1a5 2010-05-20 01:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/src/vm/hashes.c
    + added new C function hb_hashGetCItemPos()

  * harbour/src/rtl/hbcom.c
    ! fixed typo located by Bisz István
2010-05-19 23:42:29 +00:00
Przemyslaw Czerpak
8c8aadfc3b 2010-05-18 02:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbvm.h
  * harbour/src/vm/hvm.c
    + added new C function hb_vmIsActive()

  * harbour/src/rtl/memvarhb.prg
    ! fixed procedure returning value
    ! store only simple variables in HB_MVSAVE() just like __MSAVE()
      Possible extension: add option to store also NIL, arrays, hashes
      and maybe object variables.
    ! restore variables in HB_MVRESTORE() as private ones just like
      __MVRESTORE()

  * harbour/contrib/hbwin/oleinit.c
  * harbour/contrib/hbwin/olecore.c
    * updated to compile and link in WinCE builds. Now code using OLE
      can be linked with MinGWCE builds without any errors but I have
      no idea if it works. Can someone check it?
2010-05-18 00:42:51 +00:00
Przemyslaw Czerpak
7574349fe6 2010-05-17 22:34 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/dynsym.c
    ! casting for C++ mode
2010-05-17 20:34:13 +00:00
Przemyslaw Czerpak
1820ba8248 2010-05-17 13:37 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/src/vm/dynsym.c
    + added to C functions:
         int hb_dynsymToNum( PHB_DYNS pDynSym );
         PHB_DYNS hb_dynsymFromNum( int iSymNum );
      which can be used to make conversion between dynamic symbols and
      numbers
2010-05-17 11:37:27 +00:00
Viktor Szakats
967945e86e 2010-05-17 00:59 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/sddfb/sddfb.hbi
    ! Sync with recent fix in contrib/hbfbird/hbfbird.hbi.

  * src/vm/memvars.c
    * Minor typo in comment.
    * Formatting.
2010-05-16 23:01:55 +00:00
Przemyslaw Czerpak
477a505359 2010-05-14 18:33 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/src/vm/dynsym.c
    + added new function hb_dynsymIsMemvar()
2010-05-14 16:33:56 +00:00
Przemyslaw Czerpak
0ae64fb856 2010-05-04 14:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/thread.c
    ! fixed problem with OS2 GCC builds reported by David.
2010-05-04 12:10:25 +00:00
Przemyslaw Czerpak
ee2d00f19a 2010-04-29 10:51 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/strapi.c
  * harbour/include/hbapistr.h
    + added new C function hb_wstrnlen()

  * harbour/include/hbdefs.h
  * harbour/src/common/hbwin.c
    ! fixed possible buffer overflows in hb_mb*() and hb_wc*() functions
    * removed danger hb_mb*() and hb_wc*() functions which were wrongly
      used in core code and corresponding HB_TCHAR_*() macros
    + added hb_mbntowccpy() function and HB_TCHAR_COPYTO() macro
      it always sets trailing 0 after passed buffer just like hb_strncpy()
    + added hb_wcntombcpy() function and HB_TCHAR_COPYFROM() macro
      it always sets trailing 0 after passed buffer just like hb_strncpy()

  * harbour/src/rtl/gtclip.c
    ! fixed wrongly calculated size of string extracted from clipboard
      (when unicode string was in clipboard then number of unicode characters
      were used instead of number of multibyte ones)
    ! added protection against possible memory corruption if some external
      process sets clipboard text without trailing 0
    * changed hb_gt_winapi_[sg]etClipboard() functions parameters to use
      PHB_ITEM as buffer
    Question to windows users: different Win GTs use different encoding
    for the clipboard buffer. Maybe you want to normalize it?

  * harbour/src/vm/cmdarg.c
  * harbour/src/vm/extrap.c
  * harbour/src/common/hbgete.c
  * harbour/src/common/hbffind.c
  * harbour/src/common/hbtrace.c
  * harbour/src/rtl/gtwin/gtwin.c
  * harbour/src/rtl/fstemp.c
  * harbour/src/rtl/filesys.c
  * harbour/src/rtl/gtgui/gtgui.c
  * harbour/src/rtl/gtwvt/gtwvt.c
  * harbour/include/hbgtcore.h
  * harbour/include/hbapistr.h
  * harbour/include/hbwmain.c
  * harbour/contrib/gtwvg/gtwvg.c
  * harbour/contrib/gtwvg/wvggui.c
  * harbour/contrib/gtwvg/wvgcuig.c
  * harbour/contrib/gtwvg/wvgutils.c
  * harbour/contrib/gtwvg/wvgcore.c
  * harbour/contrib/gtwvg/wvgwing.c
  * harbour/examples/gtwvw/gtwvw.c
    ! fixed possible buffer overflows and GPF traps due to wrongly used
      HB_TCHAR_*() macros and/or corresponding hb_mb*()/hb_wc*() functions
      Seems that some problems were potentially exploited even in non UNICODE
      builds.
2010-04-29 08:51:41 +00:00
Przemyslaw Czerpak
a6153e5087 2010-03-29 22:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbthread.h
  * harbour/src/vm/thread.c
    % use thread local memory to optimize _hb_gettid()
    % use _hb_gettid() instead of _gettid() in OS2 GCC builds

  * harbour/src/vm/hvm.c
    % minor speed improvement

  * harbour/src/vm/memvars.c
    ! cleaned local vars detaching code
2010-03-29 20:43:03 +00:00
Przemyslaw Czerpak
9eda0eec26 2010-03-26 00:44 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/hvmall.c
    ! fixed typo in last commit
2010-03-25 23:44:10 +00:00
Przemyslaw Czerpak
8b5b161083 2010-03-26 00:12 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/hvmall.c
  * harbour/include/hbstack.h
    * reactivated for tests inline ASM code which can be used to access
      HVM stack pointer in MT HVM builds. It can be enabled in 32bit
      desktop windows Harbour builds by setting HB_ASM_TLS build time macro.
2010-03-25 23:12:28 +00:00
Przemyslaw Czerpak
47327d1293 2010-03-25 21:37 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/hvmall.c
    ! added missing HB_STACK_PRELOAD - the performance of MT HVM
      on C compilers/platforms which do not support C thread local
      variables was hardly reduce due to missing above macro, i.e.
      MinGW builds
2010-03-25 20:37:39 +00:00
Przemyslaw Czerpak
ab16694f9f 2010-03-25 12:20 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbsetup.h
    + use FORCEINLINE defined in compiler header files

  * harbour/src/vm/fm.c
    * do not redefine FORCEINLINE if it's already defined in compiler
      header files
2010-03-25 11:20:45 +00:00
Przemyslaw Czerpak
5c30e1ced6 2010-03-25 10:38 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbsetup.h
    + added HB_FORCEINLINE macro

  * harbour/include/hbatomic.h
    * use HB_FORCEINLINE instead of _HB_INLINE_

  * harbour/src/vm/fm.c
    * define for DLMALLOC FORCEINLINE macro as HB_FORCEINLINE

  * harbour/src/vm/dlmalloc.c
    * removed some cleanup in FORCEINLINE declaration and _HB_INLINE_
      usage reducing number of local Harbour modifications.
2010-03-25 09:38:27 +00:00
Przemyslaw Czerpak
ced7a8e61a 2010-03-25 00:14 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbatomic.h
    * removed unnecessary parenthesis
    * renamed HB_SPINLOCK_INIT_R macro to HB_SPINLOCK_INITVAL_R
    + added HB_SPINLOCK_INIT_R(l) macro

  * harbour/src/vm/fm.c
  * harbour/src/vm/dlmalloc.c
    + updated to DLMALLOC 2.8.4
    * added OS2 support from our previous DLMALLOC version
    + updated to use our own recursive locks when available
    * disabled hack which breaks strict aliasing
    ! added some fixes to new DLMALLOC code
    TODO: Test it with MSVC win and wince builds and add _MSC_VER
          based protection for __forceinline usage (I do not know
          in which MSVC version it was added).
          Test it with OS2 GCC and OpenWatcom builds.
          Test it Darwin and some other *nixes.

  * harbour/contrib/sddfb/sddfb.c
    ! fixed missing reference operator in isc_detach_database()
    ! fixed NULL used to clear connection handles
    * keep references to connection handlers passed to isc_*() functions
    * minor formatting
2010-03-24 23:14:30 +00:00
Przemyslaw Czerpak
766cd74186 2010-03-23 15:19 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbxvm.h
  * harbour/src/vm/hvm.c
    + added hb_xvmPushAliasedFieldExt() and hb_xvmPopAliasedFieldExt()

  * harbour/src/compiler/gencc.c
    % use hb_xvmPushAliasedFieldExt() and hb_xvmPopAliasedFieldExt()
      to optimize code generated for <alias> -> <name> expressions
      in -gc3 mode

  * harbour/include/hbsetup.h
    + added _HB_INLINE_ macro

  * harbour/include/hbatomic.h
    + added HB_SPINLOCK_TRY(l)
    + added support for recursive spin locks

  * harbour/src/vm/fm.c
    * use _HB_INLINE_
2010-03-23 14:20:25 +00:00
Przemyslaw Czerpak
5bba5ab926 2010-03-22 12:54 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbdefs.h
    + added HB_SIZE_MAX macro

  * harbour/src/vm/hvm.c
  * harbour/src/vm/arrays.c
    * use HB_SIZE_MAX instead of ULONG_MAX
2010-03-22 11:54:48 +00:00
Viktor Szakats
29d0c87141 2010-03-15 09:58 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbct/ctnet.c
  * contrib/hbtpathy/tpwin.c
  * contrib/hbnf/getenvrn.c
    ! Fixed to disable some functionality on all WinCE platforms.
      These were WinCE API functions wrongly declared in
      mingwarm/poccarm headers. (thus causing link-time errors
      for final apps trying to use these functions)

  * contrib/hbwin/win_dlg.c
    ! Enabled more functionality for WinCE. mingwarm builds
      will probably crash due to buggy commdlg.h header.

  * src/vm/fm.c
    ! Fixed to redefine ABORT for all wce/msvcarm targets.

  * utils/hbmk2/hbmk2.prg
    ! Minor typo in recently added help item.

  * contrib/gtwvg/gtwvg.h
  * contrib/gtwvg/wvggui.h
  * contrib/hbwin/win_prn1.c
  * contrib/hbwin/win_prn2.c
  * contrib/hbwin/win_prn3.c
  * contrib/hbwin/win_dlg.c
  * contrib/hbodbc/odbc.c
  * contrib/rddsql/sddodbc/sddodbc.c
    ! Fixed to compile with -DWIN32_LEAN_AND_MEAN.
2010-03-15 09:00:55 +00:00
Viktor Szakats
e97a7501d0 2010-03-14 21:29 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/fm.c
  * src/common/hbwince.c
  * include/hbwince.h
  * include/hbthread.h
  * contrib/hbct/ctnet.c
  * contrib/hbodbc/Makefile
  * contrib/xhb/hbserv.c
  * contrib/hbtpathy/tpwin.c
  * contrib/hbnf/getenvrn.c
  * contrib/rddsql/sddodbc/Makefile
  * contrib/hbwin/olecore.c
  * contrib/hbwin/win_prn1.c
  * contrib/hbwin/win_dlg.c
  * config/wce/msvcarm.mk
    + Added support for msvcarm 2008.

  * utils/hbmk2/hbmk2.prg
    ! Synced msvcarm dynlib creatino options with Harbour build.
2010-03-14 20:32:31 +00:00
Viktor Szakats
f56b5a7205 2010-03-14 01:39 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/extrap.c
    ! Fixed to do UNICODE to "ANSI" conversion in module listing 
      code for WinCE platform. It'd be nice if a WinCE user 
      could test it.

  * src/rtl/filesys.c
    ! Silenced warning on newer mingwarm compilers about 
      unused function.
2010-03-14 00:41:14 +00:00
Viktor Szakats
0cae7b71e1 2010-03-13 15:01 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
  * utils/hbmk2/hbmk2.prg
    + Added autodetection for Equation Solution mingw64 builds.

  * INSTALL
    + Added link to Equation Solution mingw releases.

  * src/vm/itemapi.c
    * Formatting.
2010-03-13 14:07:12 +00:00
Przemyslaw Czerpak
cac5f29b2a 2010-03-13 09:18 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/hvmall.c
    * minor cleanup
2010-03-13 08:18:32 +00:00
Przemyslaw Czerpak
12d1e1cc88 2010-03-13 09:02 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstack.h
  * harbour/src/vm/estack.c
  * harbour/src/vm/hvmall.c
    * moved static HVM stack declarations from header file to .c files
2010-03-13 08:03:03 +00:00
Viktor Szakats
145b21c110 2010-03-13 03:18 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/Makefile
  * src/vm/vmmt/Makefile
    ! Fixed GUI mode not working for mingw64 targets.
      [TOMERGE 2.0]
2010-03-13 02:19:10 +00:00
Viktor Szakats
16242fc4b7 2010-03-13 03:03 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/gtwvt/gtwvt.c
    ! Reverted RegisterClassEx() to RegisterClass() for WinCE.
      Thanks for the information.

  * src/rtl/gtdos/gtdos.c
  * src/rtl/gtwvt/gtwvt.c
  * src/rtl/filesys.c
  * src/rdd/dbcmd.c
  * src/rdd/dbcmd53.c
  * src/rdd/wafunc.c
  * src/rdd/workarea.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/rdd/ordwldsk.c
  * src/rdd/hbsix/sxord.c
  * src/rdd/hbsix/sxsem.c
  * src/rdd/ordcount.c
  * contrib/hbtpathy/tpwin.c
  * contrib/rddbmcdx/bmdbfcdx.c
  * contrib/gtwvg/gtwvg.c
  * contrib/gtwvg/wvggui.c
  * contrib/gtwvg/wvgwing.c
  * contrib/rddads/adsfunc.c
  * contrib/hbwin/axcore.c
  * contrib/hbwin/mapi.c
  * contrib/hbwin/win_dlg.c
    * 'memset( &obj, 0, sizeof( TYPE_OF_OBJ ) )'
      changed to:
      'memset( &obj, 0, sizeof( obj ) )'
      (same meaning but less room for mistake)
    * Variable scope cleanups in few places.

  * bin/hb-mkimp.bat
  * src/vm/itemapi.c
    * Formatting.
2010-03-13 02:07:35 +00:00
Przemyslaw Czerpak
d6d7154456 2010-03-13 01:25 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstack.h
  * harbour/src/vm/estack.c
    % declare hb_stack TLS pointer in MT HVM as static when HVM is compiled
      with HB_HVM_ALL=yes

  * harbour/src/compiler/hbcomp.c
    ! added protection against multiple freeing the same expression on
      some errors in compiled code. It's necessary after removing reference
      counters which made such protection indirectly. It fixed bug reported
      by Teo.

  * harbour/include/hbsetup.h
    ! check GCC version for hot and cold function attribute macros
2010-03-13 00:26:30 +00:00
Viktor Szakats
af2d26c015 2010-03-11 11:40 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/estack.c
  * include/hbstack.h
    % hb_stackDispLocal() internal debug function made static, 
      and guarded with HB_VM_DEBUG (pls change it to something 
      better if there is one), so it's not included in every 
      regular build and final executable.
2010-03-11 10:42:09 +00:00
Przemyslaw Czerpak
cd173dc1a7 2010-03-08 19:33 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/macro.c
    ! fixed buffer overflow caused by wrong pointer type
      ( 'HB_ULONG*' instead of 'int *' )

  * harbour/src/vm/set.c
    ! fixed bug in MT mode - when new thread was created then _SET_PATH
      setting was not cloned but wrongly shared with parent thread - many
      thanks to Rossine for the information
2010-03-08 18:33:49 +00:00
Viktor Szakats
b9f7254c8d 2010-03-07 11:47 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/hvm.c
    ! Adjustment to symEval declaration after last change.

  * contrib/hbmysql/tmysql.prg
    ! Fixed CLIPVALUE2SQL() to return NULL for NIL
      values. Should fix sf.bet bug #2964744.
    % Optimized CLIPVALUE2SQL().

  * contrib/xhb/tframe.prg
    ! Fixed HB_ENUMINDEX() to :__enumIndex().
    % Minor optimization.
    * Some formatting.

  * contrib/xhb/hblog.prg
    ! Fixed HB_ENUMINDEX() to :__enumIndex().

  * contrib/hbtip/sendmail.prg
    ! Fixed mime type spec: "text/plain;filename=" -> "text/plain; name="

  ; Latter two suggested by Lorenzo.
2010-03-07 10:48:30 +00:00
Viktor Szakats
a682aa5d86 2010-03-07 04:34 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/hvm.c
  * include/hbapi.h
    * Marked hb_synEval public symbol with HB_LEGACY_LEVEL3

  * src/rtl/gtwin/gtwin.c
    ! Copyright header update.

  * src/rtl/objfunc.prg
  * include/hboo.ch
    * Minor cleanup and formatting.

  * INSTALL
    * Minor refinement in wording.

  * contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/idedocks.prg
    ! "Codec" -> "Encoding" in a few more places.
    ! "..." added to some more menu items.
    ! Double "(.ext)" text in filetypes in open project dialog.
    ; Please review me.
2010-03-07 03:35:31 +00:00
Przemyslaw Czerpak
e80a2ad13d 2010-03-06 23:44 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/evalhb.c
  * harbour/src/vm/asort.c
  * harbour/src/vm/hvm.c
  * harbour/src/vm/arrays.c
  * harbour/src/vm/thread.c
  * harbour/src/vm/eval.c
  * harbour/src/vm/classes.c
  * harbour/src/rtl/do.c
  * harbour/contrib/gtwvg/wvgwing.c
    * use hb_vmPushEvalSym() instead of hb_vmPushSymbol( &hb_symEval )
      Please try to eliminate direct hb_symEval usage from 3-rd party code.
2010-03-06 22:44:51 +00:00
Przemyslaw Czerpak
3d6de8244c 2010-03-06 18:33 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbxvm.h
  * harbour/src/compiler/gencc.c
  * harbour/src/vm/hvm.c
    % added few functions increasing the execution speed of some PRG code
      compiled with -gc3 switch
2010-03-06 17:34:15 +00:00
Przemyslaw Czerpak
aae4187975 2010-03-04 19:43 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/hvm.c
    ! removed unnecessary hbstack reference in MT builds - thanks to
      Grigory Filatov for the information
2010-03-04 18:43:51 +00:00
Przemyslaw Czerpak
7da18ea3dc 2010-03-04 11:06 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcompdf.h
  * harbour/src/vm/macro.c
    % changed HB_PCODE_INFO structure to eliminate one memory allocation
      in macro compiler

  * harbour/include/hbapi.h
  * harbour/include/hbvm.h
  * harbour/src/vm/codebloc.c
  * harbour/src/vm/itemapi.c
  * harbour/src/vm/hvm.c
    * changed second parameter in hb_codeblockGet*() function to 'int'
    * merged codeblock execution context setting into one function
      hb_vmDoBlock() and removed hb_codeblockEvaluate()
    + added new internal function hb_vmEval()

  * harbour/src/vm/arrays.c
    % use hb_vmEval()

  * harbour/src/macro/macrolex.c
    * added missing const to maro text declaration

  * harbour/tests/speedtst.prg
    ! fixed to work with CLIP and xHarbour after we changed
      SECONDSCPU() to HB_SECONDSCPU() - all these compilers and FlagShip
      have SECONDSCPU() function
2010-03-04 10:06:32 +00:00
Przemyslaw Czerpak
91f9a3f12c 2010-03-03 02:38 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/doc/en/hvm.txt
    - removed __DBGVMVARLGET() description

  * harbour/src/debug/dbgbrwsr.prg
    % small speed improvement

  * harbour/include/hbextern.ch
  * harbour/src/vm/debug.c
    + added internal debug function: __DBGVMLOCALLIST( <nLevel> ) -> <aVars>
2010-03-03 01:39:10 +00:00
Przemyslaw Czerpak
7c8e18e208 2010-03-01 08:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/hvm.c
    ! added missing HB_STACK_TLS_PRELOAD
2010-03-01 07:00:57 +00:00
Przemyslaw Czerpak
bb86055fe6 2010-03-01 00:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpcode.h
  * harbour/include/hbxvm.h
  * harbour/src/compiler/hbfix.c
  * harbour/src/compiler/hbpcode.c
  * harbour/src/compiler/hbdead.c
  * harbour/src/compiler/genc.c
  * harbour/src/compiler/hbopt.c
  * harbour/src/compiler/gencc.c
  * harbour/src/compiler/hblbl.c
  * harbour/src/compiler/hbstripl.c
  * harbour/src/vm/hvm.c
    + added new PCODE HB_P_PUSHAPARAMS and -gc3 function with corresponding
      action hb_xvmPushAParams

  * harbour/include/hbexprb.c
  * harbour/src/common/expropt1.c
  * harbour/src/vm/hvm.c
    + added support for special PRG function:
         HB_ARRAYTOPARAMS( <aValue> ) -> <aValue>[ 1 ] [, <aValue>[ N ] ]
      It can be used in the same context as multivalue macros
      or ... operator and converts array to list of parameters, i.e.:
         proc main
            local aValue, aIndexes

            aValue := { 1, { 2, 3, "abcde" } }
            aIndexes := { 2, 3 }
            ? "array:",    hb_valToExp( aValue )
            ? "indexes:",  hb_arrayToParams( aIndexes )

            ? "array[", hb_arrayToParams( aIndexes ), "] =>", ;
               aValue[ hb_arrayToParams( aIndexes ) ]
            aValue[ hb_arrayToParams( aIndexes ) ] += ":add"
            ? "array:",    hb_valToExp( aValue )

            aValue := { "test", aValue }
            aIndexes := { 2, hb_arrayToParams( aIndexes ) }
            ? "array:",    hb_valToExp( aValue )
            ? "indexes:",  hb_arrayToParams( aIndexes )
            ? "array[", hb_arrayToParams( aIndexes ), "] =>", ;
               aValue[ hb_arrayToParams( aIndexes ) ]
         return
2010-02-28 23:52:05 +00:00
Viktor Szakats
b850625aab 2010-02-28 12:59 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/rddsql/sddoci/sddoci.c
    ! Fixed handling of numeric types widths and decimals.
    ; This marks last known TODO/TOFIX as DONE.

  * src/vm/extrap.c
    + Minor
2010-02-28 12:01:25 +00:00
Przemyslaw Czerpak
746c03b25a 2010-02-27 20:19 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
  * harbour/include/hbcompdf.h
  * harbour/include/hbmacro.h
  * harbour/include/hbexpra.c
  * harbour/include/hbexprb.c
  * harbour/src/common/funcid.c
  * harbour/src/common/expropt1.c
  * harbour/src/compiler/hbmain.c
  * harbour/src/compiler/harbour.y
  * harbour/src/compiler/harbour.yyc
  * harbour/src/compiler/harbour.yyh
  * harbour/src/vm/macro.c
    + added all reserved and restricted in Clipper functions to
      hb_compGetFuncID()
    + extended hb_compGetFuncID() to expand short names of reserved functions
    + extended hb_compGetFuncID() to set function flags
    * store expanded function name, ID and flags in HB_ET_FUN* expressions
    % modified compiler and macrocompiler code to use function flags and
      expanded names set by hb_compGetFuncID(). It allowed to eliminate
      calling hb_compReservedName() for function call expressions giving
      some small but noticeable speed improvement i.e. in macrocompiler.
2010-02-27 19:20:56 +00:00
Przemyslaw Czerpak
c8aa309764 2010-02-27 11:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/macro.c
    * minor simplification

  * harbour/src/common/reserved.c
    * minor cleanup

  * harbour/src/vm/eval.c
    * inherit execution context (OOP scope) in HB_EXECFROMARRAY() function

  * harbour/include/hbcomp.h
  * harbour/include/hbcompdf.h
  + harbour/src/common/funcid.c
  * harbour/src/common/Makefile
    + added new [macro]compiler function: hb_compGetFuncID() which can be
      used for function name hashing reducing strcmp() comparisons

  * harbour/include/hbexpra.c
  * harbour/include/hbexprb.c
    % use hb_compGetFuncID() to improve code for HB_ET_FUNCALL expressions
2010-02-27 10:07:03 +00:00
Przemyslaw Czerpak
835a921991 2010-02-25 08:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/hvm.c
    + added internal PRG function __QUITCANCEL()

  * harbour/contrib/hbxpp/Makefile
  + harbour/contrib/hbxpp/sleepx.prg
    + added xbase++ compatible prg function SLEEP( <nHSeconds> ) -> NIL

  * harbour/contrib/hbxpp/tthreadx.prg
    ! renamed TTHREAD class to THREAD and TSIGNAL to SIGNAL - I had to
      wrongly understood xbase++ documentation sent to the least.
    ! made THREAD:threadSelf() method exported
    + added full support for THREAD:QUIT( [<xResult>] [,<nRestart>] )
    ! initialize THREAD:startCount and ThreadObject() value before executing
      THREAD:atStart[()] method and codeblock
    % simplified emulation of xbase++ like behavior of THREAD:atStart[()]
      and THREAD:atEnd[()], in such context it's not necessary to use
      __ClsMsgType()
    % simplified THREAD:execute() method calling
    + added proper THREAD:deltaTime setting
    ! do not use THREAD:startTime to store thread start time
    ! fixed thread restarting when THREAD:interval is set to use
      calculated THREAD:deltaTime instead of fixed delay defined
      by THREAD:interval
2010-02-25 07:40:37 +00:00
Viktor Szakats
dfa37c743b 2010-02-24 14:33 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
  * include/hbapigt.h
  * src/rtl/fstemp.c
  * src/rtl/fserr.c
  * src/rtl/filesys.c
  * src/rtl/console.c
  * src/rtl/hbproces.c
    * HB_IO_WIN -> HB_OS_WIN

  * src/rtl/fserr.c
    - Deleted code sections which could only be active
      in 16-bit MS-DOS (MSC and BCC) compilers, or
      never.

  * src/rtl/hbdyn.c
    ! Fixed signedness warning shown by Cygwin.

  * src/rtl/filesys.c
    % Cleaned double inclusion of windows.h.
    ! Fixed for Cygwin. Latest Cygwin allows to enable
      some previously inactivated code sections. Also
      avoiding some new warnings on this target.
    - Deleted code section which is superfluous after
      merging HB_OS_WIN and HB_IO_WIN modes.
    ; TODO: Clean the rest.
    ; TODO: Use native Windows API in the remaining places.

  * include/hbdefs.h
    ! Disabled drive letter for __CYGWIN__.
      Latest version don't define the related
      CRTL functions, so it was giving warnings in
      filesys.c.

  * src/rtl/hbproces.c
    - Deleted code section which was now redundant
      (covering non-HB_IO_WIN && HB_OS_WIN case)

  * contrib/hbwin/win_prn1.c
    * Formatting.

  * src/vm/estack.c
  * src/vm/garbage.c
  * src/vm/fm.c
  * src/vm/thread.c
    + Readded those OS/2 INCL_ macros which were needed
      in C++ mode.
2010-02-24 13:34:10 +00:00
Przemyslaw Czerpak
72bc76e67a 2010-02-23 17:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/dynlibhb.c
    ! casting for OS2 builds

  * harbour/src/rtl/hbinet.c
    ! added automatic WINSOCK initialization in HB_INETIFINFO() function

  * harbour/contrib/hbwin/olecore.c
    % small optimization in OLE method calls
      (use static buffer for message name)
2010-02-23 16:11:16 +00:00
Viktor Szakats
343ec138cf 2010-02-23 10:12 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/estack.c
  * src/vm/fm.c
  * src/vm/garbage.c
    % Deleted unnecessary OS/2 INCL_* constant definitions.

  * src/vm/cmdarg.c
  * src/vm/thread.c
  * src/vm/dynlibhb.c
    + Added comment for some exception where OS/2 INCL_ constants 
      hace to be defined before Harbour headers. (because hbstack.h 
      will include os2.h through hbthread.h in MT build-pass)

  * src/vm/extrap.c
  * src/common/hbgete.c
  * src/common/hbffind.c
  * src/common/hbver.c
  * src/common/hbfsapi.c
  * src/rtl/filesys.c
  * src/rtl/diskspac.c
  * src/rtl/gtos2/gtos2.c
  * src/rtl/cputime.c
  * src/rtl/disksphb.c
  * contrib/hbtpathy/tpos2.c
  * contrib/hbmzip/hbmzip.c
  * contrib/hbqt/hbqt.h
    % OS/2 '#define INCL_*' lines moved right before os2.h is included.
      Now that os2.h isn't included by Harbour headers, this is possible.
2010-02-23 09:14:35 +00:00
Viktor Szakats
1dd4321de8 2010-02-22 15:06 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    ! Fixed to not #include <dos.h> unconditionally. This should
      be done by specific source code, if needed. INCOMPATIBLE,
      if source code relied on this behavior. From now on it,
      should include dos.h manually.

  * src/vm/thread.c
  * src/common/hbver.c
  * src/rtl/gtdos/gtdos.c
  * src/rtl/isprint.c
  * src/rtl/diskspac.c
  * src/rtl/disksphb.c
  * src/rtl/net.c
  * contrib/hbct/print.c
    ! Fixed to #include <dos.h> manually.

  * src/rtl/fstemp.c
    ! Fixed recent warning for dos targets.

  * contrib/hbct/video.c
    ! Fixed old unused variable warning for dos/watcom targets.

  * INSTALL
    + Documented that OS/2 Warp 4 is supported (instead of generic OS/2).
2010-02-22 14:07:26 +00:00
Viktor Szakats
d93eb500c9 2010-02-22 14:43 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/extrap.c
  * src/vm/dynlibhb.c
  * src/common/hbgete.c
  * src/common/hbffind.c
  * src/common/hbver.c
  * src/rtl/filesys.c
  * src/rtl/diskspac.c
  * src/rtl/gtos2/gtos2.c
  * src/rtl/cputime.c
  * src/rtl/disksphb.c
  * include/hbthread.h
  * contrib/hbmzip/hbmzip.c
    ! Fixed to setup all OS/2 INCL_* constants and
      to #include os2.h by themselves, and not to rely
      on Harbour headers to do this job for them.
    ; TODO: Do the same for dos.h.

  * doc/hdr_tpl.txt
    - Deleted local changelog.
    ! Fixes to .prg function docs
    + Update copyright year to 2010.
    + Added fact that $SEEALSO$ should be comma separated.
    + Added .c function example (far from perfect)

  * examples/hbdoc2/tmplates.prg
  * doc/hdr_tpl.txt
    + Added $VERSION$ tag. (pls update HBIDE. We haven't finalized
      the format yet, to it's little bit premature to create
      new and new parsers/generators for it yet)

  * include/hbdefs.h
    ! Fixed to not unconditionally include OS/2 headers with
      an arbitrary selection of INCL_ macros.
      Now OS/2 headers will only be included if legacy types
      are requested (off by default), and no INCL_ macros
      are defined. This latter change may affect 3rd party
      code written for OS/2, so I'm marking it INCOMPATIBLE.

  * contrib/hbqt/generator/hbqtgen.prg
  * contrib/hbqt/hbqt.h
    * Changed to #include hbapi.h from hbqt.h. It needs it,
      so this is the clean way. Changed generator to leave
      out hbapi.h from each source file and refer to hbqt.h
      only. (untested)
    + Added logic to #include OS/2 headers with some INCL_
      macros defined, to make QT on OS/2 happy. (copied them
      from the dev. list)
    ; TODO: Regenerate HBQT sources.

  * utils/hbtest/hbtest.prg
    ! Cleaned old problem reported by Chen. It seems like
      a feature which was never finished, and it's not even
      hugely needed, so I deleted it.

  * config/global.mk
    + Will now provide HB_COMP_PATH_PUB value for os2-gcc, os2-gccomf
      compilers. This value can be used to manually form ld.exe
      command line.
      (NOTE: This may be deleted in the future, when sorting
      out line-length limit problems for these compilers.
2010-02-22 13:45:07 +00:00
Przemyslaw Czerpak
0c88b47383 2010-02-21 13:48 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/ChangeLog
    ! fixed typo

  * harbour/src/rtl/hbsocket.c
    ! fixed OS2 builds using TCPV40HDRS - please test

  * harbour/src/vm/classes.c
    + added new PRG function:
         __clsMsgType( <nClassH>, <cMsg> | <sMsg> ) -> <nType>
      <nType> is one of HB_OO_MSG_* values defined in hboo.ch or -1 if
      message is not supported.
2010-02-21 12:49:05 +00:00
Przemyslaw Czerpak
87cff88914 2010-02-20 18:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/task.c
    ! fixed casting for C++ builds

  * harbour/src/lang/msges.c
    ! added hack for Solaris builds where ES is macro
      TODDO: sync names of lang and corresponding code modules.

  * harbour/src/vm/dynlibhb.c
    * pacified warning

  * harbour/contrib/xpp/xppextrn.ch
  * harbour/contrib/xpp/dbcmdx.c
  * harbour/include/hbextern.ch
  * harbour/src/rdd/dbcmd53.c
    ! moved ordWildSeek() from XPP to HBRDD library.
      I have no idea if XPP has such function or if it's or not
      compatible with ORDWILDSEEK() functions I created for [x]Harbour
    * disable ordCount() and ordWildSeek() functions when HB_CLP_STRICT
      macro is set

  * harbour/include/hbsocket.ch
    + added macro values interface info flags: HB_SOCKET_IFF_*
    + added macro values for interface info array indexes: HB_SOCKET_IFINFO_*

  * harbour/include/hbsocket.h
  * harbour/src/rtl/hbsocket.c
    + added new C function:
         PHB_ITEM hb_socketGetIFaces( int af, HB_BOOL fNoAliases );
      it returns array with existing interfaces description.
      This code was added for non MS-Windows based platforms only.
      Support for MS-Windows has to be added yet.
      Some platforms may not fill all fields in the returned array.
      When some fields are not supported by platform or interface then
      they can contain NIL value.
      On some platforms this code can effectively work only with IP4
      interfaces and IP6 ones will need different implementation.
      TODO: add support for alternative long interface introduced in some
            new systems using 'struct lifreq' with SIOCGLIF* ioctls instead
            of 'struct ifreq' and SIOCGIF*
      TODO: add support for extracting hardware addreses (i.e. ethernet
            macaddresses) for systems which do not support SIOCGIFHWADDR.

      Please test this code with OS2 using OpenWatcom and GCC (old and
      new socket API). I enabled HB_HAS_SOCKADDR_SA_LEN in OS2 builds.
      OpenWatocm OS2 header files have such fields but I do know if it's
      also present in GCC socket API.

  * harbour/include/hbextern.ch
  * harbour/src/rtl/hbinet.c
    + added new PRG function:
         hb_inetIfInfo( [<lNoAliases>] [, <nAddrFamily>] ) -> <aInfo>
      <lNoAliases> is .F. by default so aliases are included
      <nAddrFamily> is HB_SOCKET_AF_INET by default
      <aInfo> is an array in which each entry is also array with the
      following fields:
         HB_SOCKET_IFINFO_FAMILY    1     // adress family
         HB_SOCKET_IFINFO_NAME      2     // interface name
         HB_SOCKET_IFINFO_FLAGS     3     // flags HB_SOCKET_IFF_*
         HB_SOCKET_IFINFO_ADDR      4     // interface address
         HB_SOCKET_IFINFO_NETMASK   5     // subnetmask
         HB_SOCKET_IFINFO_BROADCAST 6     // broadcast address
         HB_SOCKET_IFINFO_P2PADDR   7     // point-to-point address
         HB_SOCKET_IFINFO_HWADDR    8     // hardware address

      Please use this code on different non MS-Windows platforms:

            proc main( noAlias )
               local iface
               ? os(), version()
               ? "interfaces:"
               for each iface in hb_inetIfInfo( !empty( noAlias ), 0 )
                  ? hb_valToExp( iface )
               next
               ?
            return

      and check if it returns correct information about available
      interfaces.
2010-02-20 17:07:00 +00:00
Viktor Szakats
6d9e5bbb8c 2010-02-20 16:39 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/memvars.c
  * src/common/hbverdsp.c
  * doc/whatsnew.txt
  * include/hbsetup.ch
  * utils/hbtest/rt_str.prg
    * "5.3x" -> "5.3b"
2010-02-20 15:39:33 +00:00
Viktor Szakats
0cca289673 2010-02-18 23:31 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/extrap.c
    + Added MIPS32, MIPS64, IA64, SH CPU dump code.
2010-02-18 22:33:45 +00:00