Commit Graph

2523 Commits

Author SHA1 Message Date
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
Viktor Szakats
8d5967545e 2010-03-26 22:00 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbmisc/Makefile
  + contrib/hbmisc/blinker.prg
    + Added Blinker compatible functions.
      Not tested functionally. Many of the functions are dummies, since
      many of them is highly MS-DOS specific, but they should help
      porting Clipper apps.
    + Added extra functions to control link-time burn in of some
      values in original Blinker. In Harbour they can be set using
      these function calls, f.e. called from an INIT PROC:
        HB_BLIVERNUM( cString )
        HB_BLIDEMDTE( dDate )
        HB_BLIDEMMIN( nValue )

  * include/hbmemory.ch
    ! Typo in comment.
2010-03-26 21:02:49 +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
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
Viktor Szakats
dc6bf8789c 2010-03-25 09:29 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapirdd.h
    ! Typos in comments.

  * contrib/hbct/print.c
    + Rewritten PRINTREADY() to work on all platforms the core 
      supports.

  * contrib/sddoci/sddoci.c
    + Added 'nullable' flag support. By the name it's right, 
      but it's foggy which flag constants belong to which 
      structure and rdd code suggest this flag does something 
      else depsite the name. Pls look at it.
2010-03-25 08:30:18 +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
Przemyslaw Czerpak
4bbd974426 2010-03-15 21:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbthread.h
    ! added workaround for problems with static __thread variables in
      Open64 C compiler
2010-03-15 20:40:14 +00:00
Przemyslaw Czerpak
897dda6c79 2010-03-15 12:32 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstack.h
    * minor cleanup

  * harbour/external/bzip2/bzip2.c
    ! fixed to compile on platforms which do not accept "\" as path delimiter
2010-03-15 11:32:16 +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
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
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
Przemyslaw Czerpak
dfaa306564 2010-03-11 22:16 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstack.h
    * added HB_EXPORT to some hb_stack*() functions which can be needed
      for non core code
2010-03-11 21:16:27 +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
868820a931 2010-03-10 12:26 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/compiler/hbmain.c
  * harbour/src/compiler/harbour.y
  * harbour/src/compiler/harbour.yyc
    * use hb_compGetFuncID() to detect reserved function names

  * harbour/include/hbapi.h
  * harbour/src/common/Makefile
  - harbour/src/common/reserved.c
    - removed not longer used hb_compReservedName() function
2010-03-10 11:26:26 +00:00
Przemyslaw Czerpak
c6a878051b 2010-03-10 10:04 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapirdd.h
  * harbour/src/rdd/wacore.c
    + added hb_rddDetachedList() C function

  * harbour/contrib/hbxpp/Makefile
  + harbour/contrib/hbxpp/dmlb.ch
  + harbour/contrib/hbxpp/wafuncx.c
    + added xBase++ compatible PRG function:
         WorkSpaceList( [<nWorkSpace>] ) -> <aAliasName>
2010-03-10 09:04:23 +00:00
Przemyslaw Czerpak
db6d0e631e 2010-03-09 23:36 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
  * harbour/include/hbcompdf.h
  * harbour/include/hbexprop.h
  * harbour/include/hbexpra.c
  * harbour/include/hbexprb.c
  * harbour/src/common/expropt1.c
  * harbour/src/compiler/hbcomp.c
  * harbour/src/compiler/harbour.y
  * harbour/src/compiler/harbour.yyc
  * harbour/src/macro/macro.y
  * harbour/src/macro/macro.yyc
  * harbour/src/macro/macro.yyh
    + added new type of expression: SETGET
    % eliminated reference counter in expressions
      (this code was never fully safe because expression optimizer was not
       respecting multiple references)
    % replaced all HB_COMP_EXPR_DELETE() macro usage with HB_COMP_EXPR_FREE()
      and deleted HB_COMP_EXPR_DELETE() macro
    - removed not longer used hb_compExprClone()
    Above modifications reduce a little bit total memory consumed by
    compiler and macrocompiler giving also some minor speed improvement.

  * harbour/ChangeLog
    * marked TODO for above modification as DONE.
2010-03-09 22:37:50 +00:00
Viktor Szakats
0d3d65531c 2010-03-09 14:30 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbini.prg
    * Deleted several unnecessary empty lines at EOF.

  * INSTALL
    * Minor.

  * include/dbinfo.ch
    * Formatting.

  + include/hb.ch
  * include/Makefile
    + Added Harbour header which #includes commonly used in
      applications.
      It also enables us to easily extend standard set of macros
      and constants.

  * contrib/hbide/idesaveload.prg
    * "hbide.set" -> "hbidewnd.ini". At least it uses standard
      extension. Still wrong solution and a remaining TOFIX.
2010-03-09 13:32:05 +00:00
Viktor Szakats
feb9517ee2 2010-03-08 00:09 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapi.h
  * src/common/hbver.c
    + Added hb_iswin2k() low-level function to detect
      if running under Windows 2000 or newer.

  * include/hbextern.ch
  * src/rtl/version.c
    + Added HB_OSISWIN2K() .prg level function.

  * src/rtl/gtwin/gtwin.c
  * src/rtl/gtwvt/gtwvt.c
  * contrib/gtwvg/gtwvg.c
  * contrib/gtwvg/wvggui.c
  * examples/gtwvw/gtwvw.c
  * contrib/hbwin/win_prn2.c
  * contrib/hbwin/win_prn3.c
    % Changed to use hb_iswin*() API instead of implementing
      version detection locally.

  * contrib/hbmysql/mysql.c
  * contrib/hbpgsql/postgres.c
    + Added my partial copyright.

  * contrib/hbpgsql/tests/tstpgrdd.prg
    * Formatting.

  * contrib/hbpgsql/postgres.c
    ! Fixed to define all .prg level functions regardless
      of pgsql lib it's built against. They return
      permanent failure in this case.
    ! Fixed PQCREATETRACE() to return NULL pointer instead
      of NIL for static builds.
    ! PQFREECANCEL() marked with HB_LEGACY_LEVEL3.

  * contrib/hbwin/win_os.prg
    + Using HB_OSISWIN2K() core API.

  * contrib/hbide/ideprojmanager.prg
    * Minor alignment.
2010-03-07 23:11:09 +00:00
Przemyslaw Czerpak
4ca2baffd5 2010-03-07 10:57 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
    * small cleanup in marking hb_symEval with HB_LEGACY_LEVEL3
      It should be available for core HVM functions.
2010-03-07 09:57:44 +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
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
Viktor Szakats
23f4d52dda 2010-03-05 13:48 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbver.c
  * include/hbapi.h
    + Added hb_iswinvista() to detect Vista and newer Windows versions.

  * src/rtl/version.c
  * include/hbextern.ch
    + Added HB_OSISWINVISTA() .prg level function with above meaning.

  * contrib/hbwin/win_os.prg
    % Changed to use HB_OSISWINVISTA() instead of hbwin specific
      WIN_OSISVISTAORUPPER().
2010-03-05 12:48:53 +00:00
Przemyslaw Czerpak
2dfec6cf2f 2010-03-05 13:19 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbrddnsx.h
  * harbour/src/rdd/dbfnsx/dbfnsx1.c
  * harbour/include/hbrddntx.h
  * harbour/src/rdd/dbfntx/dbfntx1.c
  * harbour/src/rdd/hsx/hsx.c
  * harbour/src/rdd/usrrdd/usrrdd.c
  * harbour/src/rtl/hbsocket.c
    ! fixed casting for compilers which needs strict aliasing rules

  * harbour/harbour.spec
    ! fixed typo in hbxpp library name
    ! fixed to work with SDDSQLT3 library

  * harbour/contrib/hbwin/olecore.c
    ! fixed buffer overflow caused by wrongly used sizeof() instead of
      HB_SIZEOFARRAY()

  * harbour/contrib/rddsql/sddodbc/sddodbc.c
    ! fixed wrongly used & operator

  * harbour/src/rtl/hbsocket.c
    ! fixed to compile with OpenWatcom Linux builds
2010-03-05 12:19:49 +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
Viktor Szakats
8be99a1b5b 2010-03-01 01:25 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsetup.h
    * Bumped pcode version to 3 (mininum kept at 2)

  * contrib/rddsql/sddodbc/sddodbc.c
    ! Fixed missing UNICODE conversion for field names.

  * contrib/rddsql/sddoci/sddoci.c
  * contrib/rddsql/sddsqlt3/sddsqlt3.c
    ! Fixed to limit field length to the one supported by RDD engine.
2010-03-01 00:26:17 +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
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
Viktor Szakats
95f5a0495a 2010-02-27 12:28 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbodbc/odbc.c
  * contrib/rddsql/sddodbc/sddodbc.c
    + Added support for UNICODE mode on non-Windows systems.
      This also means that by now HB_TCHAR_* macros aren't used
      in non-win/wce code anymore.
      NOTE: Since the translation functions have been changed,
            now _SET_OSCODEPAGE setting are honored in these
            calls. We may change this later to some lib specific cp.
    ; TOFIX: Warnings are showing up in non-UNICODE mode:
             odbc.c:438: warning: pointer targets in passing argument 2 of 'hb_storstr' differ in signedness
             Couldn't find an optimal way to pacify them (also in sddodbc).
             Can someone help?

  * include/hbdefs.h
    + HB_TCHAR_* macros are again only defined for win/wce targets.
      This will make sure these won't get used in non-win/wce specific code.

  * contrib/hbmysql/tmysql.prg
    ! Fixed old buggy code which started to throw errors
      after introducing strict parameter evaluation in
      lower-level code.
      For now I replaced the code with old behavior.
      Pls make further to replicate original _intent_.
2010-02-27 11:29:31 +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
Viktor Szakats
35330ef28e 2010-02-25 16:03 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbziparc/hbziparc.prg
    ! Fixed HB_ZIPFILE() not working properly with a password set.

  * include/hbgtinfo.ch
    ! Fixed comment for HB_GTI_PALETTE.
2010-02-25 15:04:29 +00:00
Viktor Szakats
dfb423aeb9 2010-02-25 13:41 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    + Added HB_FUNC_TRANSLATE() macro to replace this logic:
      'HB_FUNC_EXTERN( original_func_name ); HB_FUNC( func_name ) { HB_FUNC_EXEC( original_func_name ); }'

  * contrib/hbxpp/pvalue.c
  * contrib/hbfship/pvalue.c
    % Using HB_FUNC_TRANSLATE().
2010-02-25 12:41:23 +00:00
Viktor Szakats
d2e235ebbf 2010-02-25 13:33 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/pp/ppcore.c
  * src/compiler/cmdcheck.c
  * src/compiler/hbusage.c
  * include/hbpp.h
    - Deleted -kl option. "multiline strings" converted back
      to build-time option. It's not a documented option anymore,
      usage is not recommended. See 2010-02-24 20:04 UTC+0100
      for valid alternatives.
2010-02-25 12:34:40 +00:00
Viktor Szakats
08377bbdd8 2010-02-25 11:08 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
    ! Added __QUITCANCEL.

  * contrib/hbxpp/Makefile
  + contrib/hbxpp/pvaluex.c
  * contrib/hbfship/Makefile
  + contrib/hbfship/pvalue.c
    + Added function PVALUE() to both Xbase++ and FlagShip lib.

  * contrib/hbxpp/Makefile
  * contrib/hbxpp/hbxpp.ch
  * contrib/hbxpp/idlex.c
  - contrib/hbxpp/sleepx.prg
    * Renamed already existing XPP_SLEEP() to SLEEP().
    - Deleted translation from SLEEP() to XPP_SLEEP() hbxpp.ch.
    - Deleted recently added .prg implementation of SLEEP().

  * contrib/hbqt/qtgui/QWidget.cpp
  * contrib/hbqt/qtcore/TQChar.prg
    * Regenerated.
2010-02-25 10:11:07 +00:00
Viktor Szakats
27af8d0dd3 2010-02-24 20:04 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/pp/ppcore.c
  * src/compiler/cmdcheck.c
  * src/compiler/hbusage.c
  * include/hbpp.h
    + Marked "multiline strings" feature as deprecated,
      with HB_LEGACY_LEVEL3.
      It's recommended to fix such code to be compatible
      with Clipper (and other compatible) languages.
         F.e.:
         ---
            cVar := "line 1;
            line 2;
            line 3"
         ---
         to standard:
         --- F.e.:
            cVar := "line 1" +;
            "line 2" +;
            "line 3"
         ---
         or to another Harbour extension:
         ---
            #pragma __cstream|cVar := %s
            line 1
            line 2
            line 3
            ENDTEXT
         ---
      ('+' operator will be optimized out by the compiler,
      so there won't be any performance drop.)

  * utils/hbmk2/hbmk2.prg
    * Formatting.
2010-02-24 19:07:18 +00:00
Viktor Szakats
aede2707a1 2010-02-24 16:10 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/pp/ppcore.c
  * src/compiler/cmdcheck.c
  * src/compiler/hbusage.c
  * include/hbpp.h
  * include/hbsetup.h
    * HB_USER_CFLAGS=-DHB_PP_MULTILINE_STRING feature converted
      to compiler switch '-kl'.
      INCOMPATIBLE. Users needing this feature now can use
      standard Harbour builds by simply adding -kl Harbour
      compiler flag. Old build-time macro is not supported 
      anymore.
2010-02-24 15:11:45 +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
Viktor Szakats
61de922b9c 2010-02-24 10:32 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
- include/hbzlib.h
    - Deleted hbzlib.h (missed from commit: 2010-02-23 09:27 UTC+0100)
2010-02-24 09:32:44 +00:00
Viktor Szakats
dfee94a1bc 2010-02-23 20:52 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* examples/hbdoc2/hbdoc2.prg
    ! Synced doc language subdir with recent changes.
      Thanks to Qatan for pointing it out.

  * include/hbwince.h
    * Formatting.
2010-02-23 19:53:31 +00:00
Viktor Szakats
ef2727d113 2010-02-23 09:44 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    + <windows.h>/<os2.h> header inclusion (along with HB_OS_WIN_USED
      macro) is now guarded with HB_LEGACY_LEVEL3.

  * include/hbsetup.ch
  * include/hbdefs.h
  * include/clipdefs.h
    + HB_LEGACY_OFF will now turn off legacy types as well.
      This means that HB_LEGACY_TYPES_OFF macro usage
      is now clean.

  * utils/hbmk2/examples/contribf.hbc
    ! hbbmcdx -> rddbmcdx
2010-02-23 08:46:31 +00:00
Viktor Szakats
02af7454a4 2010-02-23 09:27 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/Makefile
    - Deleted hbzlib.h (wrapper for zlib.h)
      (INCOMPATIBLE, if someone used this, should be fixed by 
      replacing hbzlib.h with zlib.h in #include directive)
2010-02-23 08:28:35 +00:00
Viktor Szakats
95fc69a2a6 2010-02-22 20:43 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/gtwvt/gtwvt.h
  * src/rtl/gtwvt/gtwvt.c
    ! Fixed to use standard VGA RGB values, just like in GTXWC.
    ! Fixed color constant names (no "bright white" anymore).

  * include/hbdefs.h
    % Minor cleanup.
2010-02-22 19:44:36 +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
Viktor Szakats
c9de4f1d3a 2010-02-21 15:03 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
    + Added __CLSMSGTYPE function.

  * config/os2/gcc.mk
    * Changed to use 'ld' tools directly when creating
      Harbour dynamic libraries.
    ; Please test, it's possible that some option have to be 
      deleted, changed, or some system/compiler libs added 
      manually to make it work.
2010-02-21 14:03:38 +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