Commit Graph

2560 Commits

Author SHA1 Message Date
Mindaugas Kavaliauskas
508e2ec93f 2010-06-10 19:12 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/examples/httpsrv/uhttpd.prg
  * harbour/examples/uhttpd2/umain.prg
    * optimized hb_socketRecv() calls
    * optimized (removed) hb_socketSelect() calls, current API
      has timeout parameter and make things simple

  * harbour/examples/commouse/commouse.prg
    ! fixed error reporting (missing hb_comGetError()) parameter

  * harbour/include/hbsocket.ch
    * adjusted comment text

  * harbour/contrib/hbtpathy/telepath.prg
    ! fixed missing nTimeout parameter in tp_send()

  * harbour/source/rtl/hbcomhb.c
    ! fixed typo in hb_comSend()
    ! fixed hb_storni() paramter order bugs
2010-06-10 16:12:39 +00:00
Przemyslaw Czerpak
bf5511aa05 2010-06-10 18:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbclass.ch
    ! added missing TIMESTAMP class to ASSOCIATE CLASS command,
      thanks to Alex Strickland for the information
2010-06-10 16:00:41 +00:00
Viktor Szakats
ea7e1d15b9 2010-06-09 23:38 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsocket.ch
    + Added address info array positions.

  * src/rtl/hbsockhb.c
    - Deleted spaces @ EOL.

  * contrib/hbtpathy/telepath.prg
  * contrib/hbcomm/tests/test.prg
  * contrib/hbcomm/hbcomm.prg
  * contrib/hbsms/hbsms.prg
    ! Fixed HB_COMRECV() which requires a preallocated string
      to be passed.
      (no testing done, please review me, I'm almost sure I've
      made mistakes here)

  * examples/httpsrv/uhttpd.hbp
  * examples/httpsrv/uhttpd.prg
  - examples/httpsrv/socket.c
    + Changed to use new natic SOCKET API.
2010-06-09 21:38:32 +00:00
Viktor Szakats
c8a32bfc8c 2010-06-09 19:56 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Quite big commit aiming to clean path forming in different
      situations. After this is change it should be more or less
      true that internally hbmk2 always uses native path format,
      it should accept _any_ format regardless of platform,
      and it should convert filenames to proper format only when
      calling external compiler tools, according to their specific
      taste.
      F.e. this should fix problems when doing Windows cross-build
      on *nix systems, with watcom, or other compilers (except
      mingw) which has native compiler. It should continue to
      work with WINE based on compilers in similar situations.
      There is one specific exception when passing around
      filenames as part of options. In this case hbmk2 cannot do
      too much magic, so try to avoid it.
      Though I never actualluy tried this latter case.
      Please test it, regressions are possible. I'd be happy to 
      see stress tests with passing various combination of pathseps 
      and watching -trace output whether everything is properly 
      converted to right format.
    + Will now convert filenames to Cygwin format for Cygwin
      targets.
    ! Fixed to accept .hbi files without '@' prefix.

  * config/postinst.prg
    % Do not add '@' prefix when referring to .hbi files.

  * src/vm/extend.c
    ! Fixed TRACE message of new hb_parnintdef() function.

  * src/rtl/hbcomhb.c
    * Minor correction to one function description in comment.

  * src/rtl/hbsocket.c
    * Minor formatting.

  * include/hbcom.ch
    + Added comments.
    * Formatting.
    + Added comment that code is used by .c code.

  * contrib/hbtpathy/telepath.prg
    * Rewritten to use native HB_COM*() API (instead of hbct
      specific COM_() one).
    + tp_send() code rewritten to use core timeout functionality.
    + Implemented formerly disabled tp_ctrldtr() function.
      (pls review it)
    % FetchChars() internal function simplified.

  * contrib/hbcomm/hbcomm.prg
    * Rewritten to use native HB_COM*() API (instead of hbct
      specific COM_() one).

  * contrib/hbsms/hbsms.prg
    * Rewritten to use native HB_COM*() API (instead of hbct
      specific COM_() one).
    * Receive code rewritten to rely on core timeout functionality
      instead of rolling local implementation.

  ; I didn't make any tests with API converted COM code, so please
    review and test these changes.

  * contrib/hbtpathy/hbtpathy.hbc
  * contrib/hbcomm/hbcomm.hbc
  * contrib/hbsms/hbsms.hbc
    - Deleted hbct dependency.

  * INSTALL
  * package/winuni/RELNOTES
    * QT 4.6.2 -> 4.6.3
2010-06-09 17:57:34 +00:00
Mindaugas Kavaliauskas
f6ad555233 2010-06-09 18:37 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
+ harbour/src/rtl/hbcomhb.c
  * harnour/src/rtl/Makefile
  * harbour/include/hbextern.ch
    + added wrapper functions for Serial communication port API
      The list of exported functions is:
        HB_COMCLOSE( nPort )  --> lSuccess
        HB_COMDISCARDCHAR( nPort, nChar | cChar ) --> lSuccess
        HB_COMERRORCHAR( nPort, nChar | cChar ) --> lSuccess
        HB_COMFLOWCHARS( nPort, nXONchar | cXONchar, nXOFFchar | cXOFFchar ) --> lSuccess
        HB_COMFLOWCONTROL( nPort, @iValue, nFlow ) --> lSuccess
        HB_COMFLOWSET( nPort, nFlow ) --> lSuccess
        HB_COMFLUSH( nPort, [ nType = HB_COM_IOFLUSH ] ) --> lSuccess
        HB_COMGETDEVICE( nPort )  --> cDeviceName
        HB_COMGETERROR( nPort ) --> nError
        HB_COMGETOSERROR( nPort ) --> nError
        HB_COMINIT( nPort, nBaud, cParity, nSize, nStop ) --> lSuccess
        HB_COMINPUTCOUNT( nPort ) --> nCount
        HB_COMINPUTSTATE( nPort ) --> nState
        HB_COMLASTNUM() --> nLastPortNumber
        HB_COMLSR( nPort, @nValue ) --> lSuccess
        HB_COMMCR( nPort, @nValue, nClear, nSet ) --> lSuccess
        HB_COMMSR( nPort, @nValue ) --> lSuccess
        HB_COMOPEN( nPort ) --> lSuccess
        HB_COMOUTPUTCOUNT( nPort ) --> nCount
        HB_COMOUTPUTSTATE( nPort ) --> nState
        HB_COMSENDBREAK( nPort, [ nDuration = 50 ] ) --> lSuccess
        HB_COMSETDEVICE( nPort, cDeviceName ) --> lSuccess
        HB_COMRECV( nPort, @cBuffer, [ nLen = LEN( cBuffer ) ], [ nTimeout = 0 ] ) --> nBytesRecv
        HB_COMSEND( nPort, cBuffer, [ nLen = LEN( cBuffer ) ], [ nTimeout = 0 ] ) --> nBytesSent

  + harbour/include/hbcom.ch
  * harbour/include/hbapicom.h
    * moved HB_COM_* constants to .ch file

  + harbour/examples/commouse
  + harbour/examples/commouse/commouse.prg
    + sample application to decode and display COM port mouse data.
      Two types of mouse protocol is supported. You just need to 
      find COM port mouse! :) 

  * harbour/src/rtl/hbcom.c
    ! fixed timeouts on Windows platform (thanks Przemek!)
2010-06-09 15:37:23 +00:00
Mindaugas Kavaliauskas
02651dc13a 2010-06-09 15:37 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/src/rtl/hbsockhb.c
    * changed return values of some functions: nSuccess to lSuccess
    * HB_SOCKET_PF_* changed to HB_SOCKET_AF_*
    - hb_parnintdef() (moved to extend.c)
    ! some bug fixes
    ! some typo in documentation

  * harbour/examples/udpds/udpds.prg
    * sychronized with hb_socket*() changes
    * changed server thread exit condition (proposed by Przemek)

  * harbour/include/hbapi.h
  * harbour/src/vm/extend.c
    + hb_parnintdef()
2010-06-09 12:42:08 +00:00
Przemyslaw Czerpak
864974ae82 2010-06-09 12:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbsocket.c
  * harbour/include/hbsocket.ch
    ! cleaned a little bit HB_SOCKET_AF_*/HB_SOCKET_PF_* usage to not confuse
      other developers and users.
2010-06-09 10:55:49 +00:00
Viktor Szakats
cb1883e999 2010-06-08 23:19 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsetup.h
    * Renamed HB_OS_IPHONE -> HB_OS_IOS
      (naming will become ambiguous once Harbour will support
      Cisco IOS, which may not happen tomorrow, well Apple iOS
      is also a pending question)
2010-06-08 21:20:35 +00:00
Viktor Szakats
c853e5052d 2010-06-08 21:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
    + Added new HB_SOCKET*() functions.

  * config/postinst.prg
    ! Fixed to exclude whole extra shared binary creation for 
      all platforms except win/wce/os2.

  + examples/udpds/udpds.hbp
    + Added hbmk2 make file.
2010-06-08 19:23:12 +00:00
Viktor Szakats
ce166b1c81 2010-06-08 13:17 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbregexc.c
    * Changed to not throw RTE, just gracefully return
      error value when invalid PCRE expression is used.
      It will continue to throw RTE only for user-controllable
      error situations, f.e. when wrong argument type is passed.
    ! Fixed to not contain English text hard-coded in RTE message.

  * src/rtl/hbregex.c
    * HB_ATX() changed to fill parameters passed by reference with
      error values (zeros) in case of error.
    * HB_REGEX(), HB_REGEXSPLIT(), HB_REGEXATX(), HB_REGEXALL()
      functions changed to consistently return arrays. If there
      is no match, the array will be empty. This gives a more
      natural (and Clipper/Harbour-like) interface (f.e. return
      value can be passed to FOR EACH loop without extra checks
      and extra local variable).
      Slight INCOMPATIBILITY for those who did 'r == NIL' check
      to verify non-match and something special in this case.
      For code simply evaluating the returned matches, the NIL
      check can be deleted, and for code which wants to be
      backward/forward compatible _and_ to specifically check
      for no match situation it's suggested to use 'EMPTY( r )'.
      Please check me.
    * HB_REGEXMATCH() marked as HB_LEGACY_LEVEL4. (this leaves
      quite some headstart to change it)

  * include/hbextern.ch
    - Deleted HB_REGEXMATCH().

  * utils/hbmk2/hbmk2.prg
    % Simplified regex usage after above changes.
    + Will now show an internal error in case the used
      regex is invalid in current Harbour context
      (f.e. when no PCRE engine was forced by user, or
      the one used doesn't support the expression used by
      hbmk2). I don't know how special current expression
      is (it doesn't seem very much so), but it can be
      streamlined to something more compatible if current
      is deemed not ideal.

  * src/compiler/hbusage.c
    * Changed to enclose e-mails between '()' instead of '<>'.

  * include/hbsetup.h
    ! Patch by Tamas Tevesz for SunPro compiler.

  * ChangeLog
    - Deleted my personal exception from ChangeLog license.
2010-06-08 11:19:04 +00:00
Viktor Szakats
2fa7ba29cf 2010-06-03 16:43 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* package/winuni/mpkg_win_uni.nsi
    * 2.0 -> 2.1

  * src/hbextern/hbextern.prg
  * src/pp/pplib.c
  * src/pp/ppcore.c
  * src/pp/pplib2.c
  * src/pp/hbpp.c
  * src/pp/pplib3.c
  * src/main/harbour.c
  * src/debug/dbgtwin.prg
  * src/debug/dbghelp.prg
  * src/debug/dbgtmenu.prg
  * src/debug/dbgtmitm.prg
  * src/debug/dbgtobj.prg
  * src/debug/dbgbrwsr.prg
  * src/debug/dbgmenu.prg
  * src/debug/dbgthsh.prg
  * src/debug/tbrwtext.prg
  * src/debug/dbgwa.prg
  * src/debug/debugger.prg
  * src/debug/dbgtarr.prg
  * src/debug/dbgtinp.prg
  * src/common/hbgete.c
  * src/common/hbffind.c
  * src/common/hbver.c
  * src/common/hbwin.c
  * src/common/hbtrace.c
  * src/common/funcid.c
  * src/common/hbfsapi.c
  * src/common/hbprintf.c
  * src/common/hbverdsp.c
  * src/common/hbwince.c
  * src/common/hbfopen.c
  * src/common/expropt1.c
  * src/common/hbstr.c
  * src/common/expropt2.c
  * src/common/hbdate.c
  * src/common/hbmem.c
  * src/common/strwild.c
  * src/common/hbhash.c
  * src/nortl/nortl.c
  * src/macro/macro.yyc
  * src/macro/macro.y
  * src/macro/macrolex.c
  * src/compiler/compi18n.c
  * src/compiler/hbmain.c
  * src/compiler/ppcomp.c
  * src/compiler/hbfix.c
  * src/compiler/cmdcheck.c
  * src/compiler/hbdbginf.c
  * src/compiler/hbpcode.c
  * src/compiler/genhrb.c
  * src/compiler/complex.c
  * src/compiler/hbdead.c
  * src/compiler/hbcomp.c
  * src/compiler/genobj32.c
  * src/compiler/genc.c
  * src/compiler/hbopt.c
  * src/compiler/hbident.c
  * src/compiler/hbusage.c
  * src/compiler/gencc.c
  * src/compiler/hbcmplib.c
  * src/compiler/hblbl.c
  * src/compiler/harbour.yyc
  * src/compiler/hbstripl.c
  * src/compiler/harbour.y
  * src/compiler/hbfunchk.c
  * src/compiler/hbgenerr.c
  * include/hbpp.h
  * include/set.ch
  * include/achoice.ch
  * include/hbrdddbf.h
  * include/hbstdgen.ch
  * include/hbvmpub.h
  * include/hbgtinfo.ch
  * include/vm.api
  * include/hbpcode.h
  * include/hbset.h
  * include/hbver.h
  * include/hbtrace.h
  * include/extend.api
  * include/hbapicdp.h
  * include/hbrddnsx.h
  * include/button.ch
  * include/hbstack.h
  * include/item.api
  * include/inkey.ch
  * include/hbapilng.h
  * include/hbhrb.ch
  * include/tbrowse.ch
  * include/common.ch
  * include/rdd.api
  * include/gt.api
  * include/hbgtcore.h
  * include/dbinfo.ch
  * include/hbundoc.api
  * include/hbapifs.h
  * include/hbtask.h
  * include/hbsetup.ch
  * include/hbwince.h
  * include/hbvmopt.h
  * include/hb_io.h
  * include/hbthread.h
  * include/hbxvm.h
  * include/setcurs.ch
  * include/hbdefs.h
  * include/hbmsgreg.h
  * include/dbedit.ch
  * include/hblang.ch
  * include/filesys.api
  * include/hbdebug.ch
  * include/hbextcdp.ch
  * include/hbsetup.h
  * include/hbmacro.h
  * include/hbzlib.ch
  * include/hbinit.h
  * include/hbtypes.h
  * include/hbmacro.ch
  * include/hbusrrdd.ch
  * include/hbrddsdf.h
  * include/hbgtreg.h
  * include/hbwinuni.h
  * include/hbapi.h
  * include/simpleio.ch
  * include/hbmemory.ch
  * include/hbpers.ch
  * include/error.ch
  * include/hb.ch
  * include/hbapiitm.h
  * include/hbmath.h
  * include/hbmath.ch
  * include/memoedit.ch
  * include/hbvmint.h
  * include/hbver.ch
  * include/fileio.ch
  * include/rddsys.ch
  * include/hbrddntx.h
  * include/hbapicom.h
  * include/hbatomic.h
  * include/extend.h
  * include/hbznet.h
  * include/hbvm.h
  * include/std.ch
  * include/hbapidbg.h
  * include/hbmemvar.ch
  * include/hbcomp.h
  * include/hbapirdd.h
  * include/hbextlng.ch
  * include/color.ch
  * include/hbcompdf.h
  * include/hbclass.ch
  * include/hbsxdef.ch
  * include/hbmather.h
  * include/dbstruct.ch
  * include/hbsocket.ch
  * include/hbdyn.ch
  * include/hbrdddel.h
  * include/hbtrace.ch
  * include/error.api
  * include/hbapistr.h
  * include/hbwmain.c
  * include/hbexpra.c
  * include/hbexprop.h
  * include/hbiniseg.h
  * include/hbgfx.ch
  * include/hbsocket.h
  * include/hbchksum.h
  * include/hbdbf.h
  * include/hbbfish.h
  * include/hbdbsort.h
  * include/hbcdpreg.h
  * include/hbapigt.h
  * include/hbfloat.h
  * include/hbgfxdef.ch
  * include/hbsix.ch
  * include/hbextern.ch
  * include/hbapicls.h
  * include/hberrors.h
  * include/directry.ch
  * include/clipdefs.h
  * include/hboo.ch
  * include/box.ch
  * include/hbinkey.ch
  * include/hbapierr.h
  * include/hbhash.h
  * include/assert.ch
  * include/hbassert.h
  * include/getexit.ch
  * include/reserved.ch
  * include/hbregex.h
  * include/fm.api
  * include/hbthread.ch
  * include/hbexprb.c
  * include/ord.ch
  * include/hbdate.h
    * Deleted 'www.' from harbour-project.org website name.
      (www.harbour-project.org -> harbour-project.org)
2010-06-03 14:48:23 +00:00
Viktor Szakats
7e0ce822ed 2010-05-31 19:47 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added experimental support for filters containing string
      comparisons, f.e.: '{MY_VAR='hello'}-cflag=-DMY_FLAG'
    ; NOTE: It's not guaranteed yet that this feature will stay.

  * include/hbzlib.ch
    + Added HB_ZLIB_RES_* zlib result values.

  * contrib/xhb/Makefile
  - contrib/xhb/hbcomprs.c
  + contrib/xhb/hbcomprs.prg
  + contrib/xhb/tests/compress.prg
    + Rewritten xhb compatiblity compression functions in .prg.
      The main reason was to avoid dependence on zlib.h on C level.
      This simplifies the build layout.
    ! This fixes last zip error to work in MT programs.
    + Added test/demo program from xhb. Work by Giancarlo Niccolai.
    ; NOTE: Tested only with xhb test/demo program.

  * contrib/xhb/hbcomprs.ch
    + Changed to use HB_ZLIB_* constants. So it's now only a wrapper
      instead of replicating values.
2010-05-31 17:49:04 +00:00
Viktor Szakats
3477164a0e 2010-05-26 16:32 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapifs.h
    + Added some more HB_EXPORT flags. Pls check me.

  * contrib/hbwin/hbolesrv.hbc
    + Added reference to hbwin.hbc, so that it can be used 
      standalone accompanied by -hbdynvm option to create 
      OLE servers easily: 'hbmk2 -hbdynvm hbolesrv.hbc ...'

  * contrib/hbwin/hbolesrv-watcom.def
    ! Fixed comments to watcom format.

  * utils/hbmk2/hbmk2.prg
    ! Fixed RTE when parsing certain rarer Windows file types 
      in sources= directive in .hbc files in *nix hbmk2 builds.
      (could only kick in when using hbmk2 under *nix to cross 
      compile for Windows). Thanks Przemek for the report.
    - Deleted doubly added support for .def file parsing in sources=
      directive.
2010-05-26 14:32:41 +00:00
Viktor Szakats
25aa9855a5 2010-05-26 01:43 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapi.h
    ! Added HB_EXPORT to hb_memvarGet() and hb_memvarSetValue()
      used by new OLE server code in hbwin when created -shared
      OLE server .dlls.

  + contrib/hbwin/hbolesrv.hbc
    + Added .hbc file to help creating OLE servers.

  * contrib/hbwin/tests/olesrv1.hbp
  * contrib/hbwin/tests/olesrv2.hbp
  * contrib/hbwin/tests/olesrv3.hbp
    % Changed to use hbolesrv.hbc.
    - Deleted '-static' option to also allow to build -shared
      OLE servers. (I tested them OK)

  * contrib/hbwin/tests/olesrv2.prg
    + Tweak to allow case-insensitive access of OLE functions.

  * utils/hbmk2/hbmk2.prg
    + Added support for .def files in source= .hbc line.
2010-05-25 23:44:42 +00:00
Viktor Szakats
513edc3356 2010-05-25 19:08 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Extended plugin API:
      - New macro expansion function:
          hbmk2_Macro( ctx, <str> )
      - New host variables:
          cTARGETTYPE, cTARGETNAME, lDEBUG, lMAP, lSTRIP, lINFO,
          lBEEP, lRUN, nErrorLevel

  * include/hbextern.ch
    + Added two recently added functions.

  * package/winuni/RELNOTES
    * Update one version number.
2010-05-25 17:09:12 +00:00
Viktor Szakats
c95a4f9edc 2010-05-25 16:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbprintf.c
  * include/hbsetup.h
  * config/global.mk
  * config/bsd/libs.mk
  * config/detect.mk
    + Applied patch by Tamas Tevesz, making it possible to build
      Harbour for DragonFly BSD systems.
      Thanks a bunch.

  * utils/hbmk2/hbmk2.prg
    + Applied above change to hbmk2 code, so now it should also
      support DragonFly BSD. (pls test it)
2010-05-25 14:22:11 +00:00
Przemyslaw Czerpak
91cf12d405 2010-05-25 13:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/src/vm/hashes.c
  * harbour/src/vm/hashfunc.c
    + added support for keeping strict assign order in hash arrays. It's
      enabled optionally by setting HB_HASH_KEEPORDER hash array flag.
      It gives the same functionality as associative arrays in xHarbour
      (enabled by HSETAACOMPATIBILITY()) but this implementation is
      internally completely different. It does not introduce linear
      scan in add operation so enabling it should not reduce the
      performance in this operation. It can even improve it on some
      hardware reducing number of memory bytes which have to be moved.
      Only delete operation will force linear index scan. The most
      important in this implementation is that it does not need any
      additional functions like HAA*() in xHarbour. Just simply all
      existing functions operating on position indexes like HB_HPOS(),
      HB_HKEYAT(), HB_HVALUEAT(), HB_HPAIRAT(), HB_HDELAT(), HB_HSCAN()
      use as index natural order in which items were added to hash array.
      Also HB_HKEYS(), HB_HVALUES() and FOR EACH iterations respect it.
    + added new PRG functions
         HB_HKEEPORDER( <hValue> [, <lNewSetting> ] ) -> <lPrevSetting>
         HB_HSETORDER( <hValue> [, <lNewSetting> ] ) -> <hValue>
      which cam be used to enable/disable strict order in hash array.
      Enabling strict order for non empty hash arrays accept the order
      created after sorting existing item not the original assign order.
      Disabling strict order for non empty hash arrays may change the
      items order.
    ; TODO: add translation for xHarbour's HAA*() functions to hbcompat.ch
            and/or xhb library.

  * harbour/contrib/hbnetio/netiocli.c
  * harbour/contrib/hbnetio/netiosrv.c
    % reenabled TCP_NODELAY on client and server side
      I had to be really tired when I was making tests and I mixed
      hb_socketSetNoDelay() with hb_socketSetBlockingIO().
      Thanks to Aleksander Czajczynski who noticed the delay in his
      tests.

  * harbour/contrib/hbwin/olecore.c
    * minor cleanup
2010-05-25 11:20:34 +00:00
Przemyslaw Czerpak
dbcd987a99 2010-05-24 11:38 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/include/hbvmint.h
  * harbour/include/hbvmopt.h
  * harbour/include/hbstack.h
  * harbour/include/hbvmpub.h
  * harbour/include/hbtypes.h
  * harbour/src/vm/estack.c
  * harbour/src/vm/hvmall.c
    * slightly modified the names of HB_{API|STACK}_MACROS.
      These are internal macros in current Harbour code but they are
      still defined in some old user build scripts used to compiled
      user or core code what could cause unpredictable results for
      final binaries. AFAIR default xMate configuration enables them.
2010-05-24 09:39:17 +00:00
Viktor Szakats
a98d098119 2010-05-21 11:45 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    + Added HB_EXTERN macro to eventually replace 'extern' keyword.

  * include/hbstack.h
  * include/hbsocket.h
  * include/hbapicls.h
  * contrib/xhb/hbserv.h
  * contrib/gtwvg/gtwvg.h
  * contrib/hbcairo/hbcairo.h
  * examples/gtwvw/gtwvw.c
  * examples/gtwvw/hbgtwvw.h
    ! Fixed declarations to use 'extern HB_EXPORT' keyword order.
    ! Fixed declarations where 'extern' keyword was missing.

  ; TODO: To fix watcom .dll support 'extern HB_EXPORT <type> <func()>'
          will have to be changed to 'extern <type> HB_EXPORT <func()>'
          or even better to 'HB_EXTERN <type> HB_EXPORT <func()>' to
          also stay future-proof.
2010-05-21 09:47:48 +00:00
Przemyslaw Czerpak
0205170996 2010-05-20 21:14 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbthread.h
    * cover some functions and HB_THREADSTATE structure by _HB_API_INTERNAL_
    * export hb_threadReleaseCPU() function
2010-05-20 19:15:11 +00:00
Przemyslaw Czerpak
54b5e1564a 2010-05-20 19:49 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rdd/dbf1.c
    * minor cleanup

  * harbour/include/hbapi.h
    + added new macro HB_IS_EVALITEM() - returns true for items which can
      understand EVAL message i.e. CODEBLOCK and SYMBOL items.

  * harbour/contrib/hbwin/axcore.c
  * harbour/contrib/hbwin/olecore.c
  * harbour/contrib/hbwin/hbwinole.h
    * modified hb_oleDispInvoke() function to accept as additional
      parameter pointer to HVM item instead of pointer to DISPID.
      Such version is more universal.
2010-05-20 17:50:09 +00:00
Viktor Szakats
b1dc9f4f6e 2010-05-20 11:39 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbthread.h
    ! Added missing HB_EXPORT, and in some place 'extern'
      qualifier to thread/atomic Harbour API declarations.

  * ChangeLog
    ! Fixed entry header in previous commit (again).
2010-05-20 09:40:08 +00:00
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
Viktor Szakats
e4196785d1 2010-05-17 20:47 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * src/rtl/Makefile
  + src/rtl/memvarhb.prg
    + Added:
        HB_MVSAVE( <cFileName>, [<cMask>], [<lIncludeMask>] )
        HB_MVRESTORE( <cFileName>, [<lAdditive>], [<cMask>], [<lIncludeMask>] )

      They serve the same purpose with same interface
      and similar behavior to __MVSAVE()/__MVRESTORE()
      (and __MSAVE()/__MRESTORE(), and 'SAVE TO' command),
      only that they support longer than 10 char variable names.
      It is not possible to add such support in Clipper-style
      .mem files, so these functions will create an incompatible
      file format with default '.hbv' extension.

    ; TOFIX: __MVRESTORE() restores variables as PRIVATEs
             while HB_MVRESTORE() as PUBLIC.
    ; NOTE: GETLIST exclusion is solved with simple trick,
            as I couldn't find how it's solved in __MVSAVE().
    ; Consider this experimental solution to the problem.

  * contrib/hbmysql/tmysql.prg
    % STOD( "" ) -> STOD()

  * contrib/hbide/ideprojmanager.prg
    ! -hbexec -> -hbexe

  * src/rtl/typefile.prg
    ! __TYPEFILE(): Fixed both RTEs to be Clipper compatible.
2010-05-17 18:49:23 +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
b0c5f58a09 2010-05-15 13:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/inkey.ch
    + Added new special GT events (over existing HB_K_RESIZE):
        HB_K_CLOSE
        HB_K_GOTFOCUS
        HB_K_LOSTFOCUS
    + Added new Harbour specific INKEY() event filter:
        HB_INKEY_GTEVENT
    * INKEY() codes below marked as compatibility:
        K_MMLEFTDOWN, K_MMRIGHTDOWN, K_MMMIDDLEDOWN

  * src/rtl/hbgtcore.c
    ! Fixed to only return HB_K_RESIZE/CLOSE/GOTFOCUS/LOSTFOCUS
      events when allowed via HB_INKEY_GTEVENT filter.
    ; INCOMPATIBILITY: HB_K_RESIZE will now only be returned
      by INKEY() if this filter is added.

  * src/rtl/gtwvt/gtwvt.c
    - Deleted code protected by __HB_GTWVT_GEN_K_MMDOWN_EVENTS guard.
    + Will now generate INKEY() event:
        HB_K_LOSTFOCUS
        HB_K_GOTFOCUS
      and
        HB_K_CLOSE.
    ; TOFIX: HB_K_CLOSE doesn't work yet. Probably some rearrengement
             of window close control will be needed.

  ; The goal is to be able to keep "fireevent" feature in a Clipper/Harbour
    and thread friendly manner, so it becomes possible to move OS level
    UI event into separate thread.
2010-05-15 11:57:34 +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
8993f567a9 2010-05-14 15:12 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapicom.h
    * minor modification in defined names

  * harbour/src/rtl/hbcom.c
    + added some very seldom (in practice only on Linux kernels >= 2.4
      and not by all hardware drivers) supported termios extensions

  * harbour/include/hbatomic.h
    ! fixed typo in non x86 and non MinGW GCC>=4.1 builds reported
      on SF bug tracker
2010-05-14 13:12:13 +00:00
Przemyslaw Czerpak
9d13008427 2010-05-12 02:26 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/external/minizip/ioapi.h
    ! fixed FreeBSD and HAIKU builds

  * harbour/src/rtl/fserr.c
    * added translation for EPERM

  * harbour/include/Makefile
  + harbour/include/hbapicom.h
  * harbour/src/rtl/Makefile
  + harbour/src/rtl/hbcom.c
    + added Harbour multiplatform serial port C API (hb_com*() functions).
      implemented code for *nixes, MS-Windows and OS2. DOS is not supported
      yet. Please make test on different platforms.
    ; few notes about this code:
      termios (*nix) based builds:
         - reading LSR is not supported
         - duration in break signal is fixed (at least 0.25 seconds, and not
           more that 0.5 seconds)
         - DTR/DSR hardware flow control is not supported
         - setting error character is not supported
         - discard card is supported only on few platforms
         - checking input/output flow state is not supported
         - if some platforms do not support some termio extensions then
           compile time warnings TODO_* should be generated.
      MS-Windows builds:
         - discard card is not supported
      OS2 builds:
         - checking for input flow state is not supported
         - discard card is not supported
      In all builds not all RS-232 hardware flags/state are available.
      OS2 build supports most of them,

      This code needs to be extensively tested. I wrote it without any
      serious tests. Especially OS2 builds should be verified by OS2
      users. I wrote this port using only documentation which OS2 API
      available in the Internet.

      DOS is not supported yet though it's possible to compile termio code
      for *nixes with DJGPP. Anyhow it would be very nice if we can add
      our own DOS serial port code. I would like to ask if any of you
      has low level serial port code in C for DOS (i.e. used with Clipper)
      and can send it to us so we can use it with Harbour. I have my
      own serial port library for Clipper but it's written in assembler
      and it's much wider then sth what we need so it cannot be easy
      adopted for Harbour.

  * harbour/contrib/hbct/Makefile
  + harbour/contrib/hbct/ctcom1.c
  + harbour/contrib/hbct/ctcom.ch
  + harbour/contrib/hbct/ctcom2.c
    + added CT3 compatible COM_*() functions.
    + added CT3 compatible XMOBLOCK(), XMOCHECK(), ZEROINSERT() and
      ZEROREMOVE() functions.
    + added new CT COM function:
         COM_DEVNAME( <nComPort> [, <cNewName> ] ) -> <cPrevName>
      which can be used to specify device name for given port in modern
      systems which do not give direct hardware access for the process.
    ; few notes about CT3 COM_*() functions in Harbour.
      In COM_OPEN() only 1-st parameter is significant, input/output buffer
      sizes and trap mode parameters are ignored. In modern OS-es such
      functionality is controlled by OS and usually buffered read/write
      is always enabled. The sizes of IO buffers can be used only as
      suggested IO buffer size for OS in some systems. It's possible that
      these additional parameters will be used in DOS builds in the future.
      COM_READ() does not support 2-nd parameter <lNoDelete>. It can be
      implemented but because we do not have direct access to OS buffers
      then we will have to emulate it ourselves what is rather inefficient.
      Anyhow I can implement it if users think it's critical.
      In COM_CRC() I fixed few CT3 bugs so it's not bug compatible with CT3,
      i.e. it works correctly for 8 bit and smaller polynomials instead of
      returning 0 or supports much larger polynomials up to 64bits.
      For 16/17 bit polynomials it gives the same results as CT3 so for most
      common usage it should be binary compatible with CT3.
      In ZEROREMOVE() I fixed decoding some wrong CCITT strings which does
      not have trailing 0 so it returns empty string "" for such corrupted
      data. If someone needs original CT3 behavior for some broken code then
      is can be enabled by HB_CT3_ZEROREMOVE_BUG macro.

      I haven't implemented few functions.
      COM_GETIO(), COM_SETIO(), COM_GETIRQ(), COM_SETIRQ() are not portable
      and can be implemented only for really few platforms, i.e. for DOS
      when/if we add support for serial ports to Harbour DOS builds.
      Similar functionality for all other platforms gives our new function
      COM_DEVNAME().
      COM_KEY(), COM_SKEY() and COM_EVENT() are also not implemented.
      To make them well we should add support for asynchronous events to HVM
      and such extension is still unavailable. Some simulation can be
      implemented using idle tasks but this can be done also by final
      Harbour users so I decided to not make it.

      Please test it - I've never used CT3 COM_*() API with Clipper.

  * harbour/contrib/hbct/dummy.c
    * removed dummy CT3 serial communication functions
    ; such files with dummy functions introduces very serious problems for
      user code because they do not respect original module granularity
      effectively breaking overloading only chosen functions so it breaks
      also some real Clipper code.
2010-05-12 00:27:04 +00:00
Viktor Szakats
9adb84e258 2010-05-09 00:53 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Added Ubuntu 10.4 as tested version.

  * include/common.ch
    + Added HB_HMERGE_* constant for HB_HMERGE() function.

  * package/winuni/mpkg_win_uni_extra_copy.bat
    * Commented line not necessary for official mingw build.

  * contrib/hbsqlit3/tests/hooks.prg
  * contrib/hbsqlit3/tests/authoriz.prg
  * contrib/hbsqlit3/tests/backup.prg
    + Added missing '()'s from :__enum* accesses.

  * config/win/mingw.mk
    ! Fixed after last minute change breaking it when HB_COMPILER_VER 
      is not set.

  * examples/httpsrv/uhttpd.prg
    % Replaced 'var:__enumValue()' with 'var' in FOR EACH loops.
2010-05-08 22:57:30 +00:00
Viktor Szakats
d1fa4c942b 2010-05-08 09:32 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsetup.h
    + Added detection for HB_OS_IPHONE. Name tentative,
      completely experimental.
    + Minor addition to ARM CPU detection.

  * src/common/hbprintf.c
    ! Config modfl() accordingly when HB_OS_IPHONE is detected.
2010-05-08 07:33:14 +00:00
Przemyslaw Czerpak
fec547542c 2010-05-06 21:33 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/Makefile
  * harbour/src/rtl/hbznet.c
  + harbour/src/rtl/hbinetz.c
    * moved HB_INETCOMPRESS() function to separate file

  * harbour/include/hbexprb.c
    ! fixed my very bad C&P typo (2010-02-04 19:14 UTC+0100) which caused
      that dummy value was left on HVM stack after post decrementation used
      as statement. This dummy value could break construciton like FOR EACH,
      WITH OBJECT, BEGIN SEQUENCE. Here is self contain example which can
      be used to exploit the problem:
            proc main()
               begin sequence
                  p()
               end sequence
            return
            proc p()
               local nTemp := 0
               begin sequence
                  nTemp--
               end sequence
            return
      Many thanks to Heinz Bergen who reduced his code to similar small
      example.
2010-05-06 19:34:02 +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
Viktor Szakats
4d1a8cc1a3 2010-04-28 19:05 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/Makefile
  * src/rtl/getsys.prg
  + src/rtl/getsyshb.prg
    ! Moved HB_GETREADVAR() to separate source file.
    ! HB_GETREADVAR() fixed to use HB_ASCIIUPPER() like
      TGETLIST():GETREADVAR() instead of UPPER().

  * src/rtl/tgetlist.prg
    % TGETLIST():GETREADVAR() now can use HB_GETREADVAR()
      instead of duplicating the code locally.

  * INSTALL
    + Added sort of "disclaimer" note to HB_BUILD_IMPLIB option.

  * include/hbextern.ch
    + Added missing TBREADER().
2010-04-28 17:06:52 +00:00
Viktor Szakats
57f03810d9 2010-04-22 02:14 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* harbour-win-spec
  * harbour-wce-spec
  * harbour.spec
  * include/hbver.h
  * config/global.mk
    + Changed version number to:
         2.1.0beta1 (from 2.1.0dev)

  * package/winuni/mpkg_win_uni_extra_copy.bat
  * package/winuni/RELNOTES
  * package/winuni/mpkg_win_uni.bat
  * package/winuni/mpkg_win_uni.nsi
    * 2.0.0 -> 2.1.0 changes.
2010-04-22 00:21:44 +00:00
Przemyslaw Czerpak
fe77740954 2010-04-15 08:16 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtos2/gtos2.c
    * small cleanup in TONE code

  * harbour/include/hbvmpub.h
    * removed old and unused macros

  * harbour/external/jpeg/Makefile
    ! added Missing HAVE_PROTOTYPES declaration

  * harbour/src/rtl/hbzlib.c
  * harbour/contrib/hbbz2/hbbz2.c
    * added redundant initialization to pacify MSVC warnings

  * harbour/external/pcre/pcrefinf.c
    * casting to pacify warning

  * harbour/src/macro/macro.yyc
  * harbour/src/macro/macro.yyh
  * harbour/src/compiler/harbour.yyc
  * harbour/src/compiler/harbour.yyh
    * regenerated using bison with some additional patches to pacify
      MSVC warning
2010-04-15 06:16:46 +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
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