Commit Graph

84 Commits

Author SHA1 Message Date
Viktor Szakats
f145ef4c80 2010-06-18 11:58 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    ! Fixed one intentional typo I put in to test legacy types.

  * src/compiler/hbmain.c
  * src/compiler/genhrb.c
  * src/compiler/gencc.c
  * src/compiler/hbcmplib.c
  * include/hbcomp.h
  * include/hbcompdf.h
    * HB_ULONG -> HB_SIZE, where I could find out from warnings.
    + Added parameter names to some function declarations where they
      were missing.
    ; Przemek, please check me. I feel I will mess this up if continuing
      beyond this point, so I'd appreciate if you could take a look at
      HB_ULONG to HB_SIZE conversion from an intrinsic perspective,
      there seem to be places where it needs further tweaks to get us
      full Win64 support. [ I've also intentionally left this area
      more or less intact when doing the previous pass of conversion. ]
    ; There are places where simple 'int' is used, while it should be
      HB_SIZE (or maybe size_t? in some places).
    ; Also, Win64 conversion will need some more work f.e. in filesys.c
      where WinAPI file I/O functions can't accept a 64-bit value.
      First I will report these and if they seem complicated I'll
      revert to HB_SIZE = HB_ULONG for Win64 in the being.

  * src/compiler/hbgenerr.c
    * Formatting.

  * src/pp/ppcore.c
  * src/vm/strapi.c
  * src/vm/debug.c
  * src/vm/itemapi.c
  * src/vm/cmdarg.c
  * src/vm/set.c
  * src/debug/dbgentry.c
  * src/common/hbgete.c
  * src/common/hbstr.c
  * src/common/strwild.c
  * src/nortl/nortl.c
  * src/rtl/lennum.c
  * src/rtl/strmatch.c
  * src/rtl/gtstd/gtstd.c
  * src/rtl/hbstrfmt.c
  * src/rtl/transfrm.c
  * src/rtl/gtcgi/gtcgi.c
  * src/rtl/direct.c
  * src/rtl/filesys.c
  * src/rtl/console.c
  * src/rtl/hbgtcore.c
  * src/rtl/cdpapi.c
  * src/rtl/mlcfunc.c
  * src/rtl/itemseri.c
  * src/rtl/gtpca/gtpca.c
  * src/rtl/trace.c
  * src/rtl/samples.c
  * src/rtl/gete.c
  * src/rdd/workarea.c
  * src/rdd/hsx/hsx.c
  * src/rdd/hbsix/sxsem.c
  * src/rdd/hbsix/sxfname.c
  * contrib/hbct/tab.c
  * contrib/xhb/dbf2txt.c
  * contrib/xhb/datesxhb.c
  * contrib/xhb/dbgfxc.c
  * contrib/hbmzip/hbmzip.c
  * contrib/hbnf/fttext.c
  * contrib/hbnetio/netiocli.c
  * contrib/hbpgsql/postgres.c
  * contrib/hbclipsm/num.c
  * contrib/rddads/ads1.c
  * contrib/sddsqlt3/sddsqlt3.c
  * contrib/hbfimage/fi_wrp.c
  * contrib/sddodbc/sddodbc.c
  * contrib/sddoci/sddoci.c
  * contrib/hbwin/win_svc.c
  * contrib/hbwin/win_prn2.c
    * '( HB_SIZE ) strlen(' -> 'strlen('
2010-06-18 10:03:44 +00:00
Viktor Szakats
b50ea8e77e 2010-06-16 21:09 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/extend.api
  * include/hbapi.h
    + Disabled IS*() macros when HB_LEGACY_TYPES_OFF is defined
      (default when building Harbour)

  * src/pp/pplib.c
  * src/rtl/hbregex.c
  * src/rtl/dateshb.c
  * contrib/xhb/xhbfunc.c
  * contrib/rddads/rddads.h
    ! Fixed IS*() -> HB_IS*()

  * src/rtl/hbregex.c
  * contrib/hbmysql/mysql.c
  * contrib/xhb/xhbsave.c
  * contrib/hbmzip/hbmzip.c
  * contrib/hbfbird/firebird.c
  * contrib/hbnetio/netiosrv.c
  * contrib/rddads/rddads.h
  * contrib/rddads/adsmgmnt.c
  * contrib/rddads/adsfunc.c
  * contrib/hbmisc/hb_f.c
  * contrib/hbmisc/ffind.c
  * contrib/hbwin/win_com.c
  * contrib/hbwin/wapi_shellapi.c
  * contrib/hbssl/bio.c
  * contrib/hbssl/hbssl.c
  * contrib/hbssl/sslctx.c
    % Optimized to use hb_parn*def() calls instead of inline-if expression
      (where default value is constant or simple variable).

  * INSTALL
    + valgrind is available for darwin-amd64 (in 1.6 devel tree, yet).
2010-06-16 19:10:22 +00:00
Viktor Szakats
81c9b0506c 2010-06-04 15:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/*
    * Deleted 'www.' from harbour-project.org website name.
      (www.harbour-project.org -> harbour-project.org)
2010-06-04 13:32:23 +00:00
Viktor Szakats
7858b4c783 2010-06-04 13:06 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    * Minor.

  * contrib/hbmysql/hbmysql.hbc
  * contrib/gtalleg/gtalleg.hbc
  * contrib/gtalleg/gtallegs.hbc
  * contrib/hbct/hbct.hbc
  * contrib/sddmy/sddmy.hbc
  * contrib/hbodbc/hbodbc.hbc
  * contrib/xhb/xhb.hbc
  * contrib/sddfb/sddfb.hbc
  * contrib/hbtpathy/hbtpathy.hbc
  * contrib/hbgt/hbgt.hbc
  * contrib/hbsqlit3/hbsqlit3.hbc
  * contrib/hbmzip/hbmzip.hbc
  * contrib/hbblat/hbblat.hbc
  * contrib/hbqt/hbqt.hbc
  * contrib/hbqt/hbqts.hbc
  * contrib/hbfbird/hbfbird.hbc
  * contrib/sddpg/sddpg.hbc
  * contrib/hbziparc/hbziparc.hbc
  * contrib/hbxbp/hbxbp.hbc
  * contrib/hbbz2/hbbz2.hbc
  * contrib/hbblink/hbblink.hbc
  * contrib/hbnf/hbnf.hbc
  * contrib/hbcurl/hbcurl.hbc
  * contrib/hbcurl/hbcurls.hbc
  * contrib/hbmemio/hbmemio.hbc
  * contrib/hbxpp/hbxpp.hbc
  * contrib/hbfship/hbfship.hbc
  * contrib/hbcups/hbcups.hbc
  * contrib/rddbmcdx/hbbmcdx.hbc
  * contrib/hbfoxpro/hbfoxpro.hbc
  * contrib/hbnetio/hbnetio.hbc
  * contrib/rddsql/rddsql.hbc
  * contrib/hbhpdf/hbhpdf.hbc
  * contrib/gtwvg/gtwvg.hbc
  * contrib/hbpgsql/hbpgsql.hbc
  * contrib/hbclipsm/hbclipsm.hbc
  * contrib/rddads/rddads.hbc
  * contrib/rddads/rddads.hbp
  * contrib/sddsqlt3/sddsqlt3.hbc
  * contrib/hbfimage/hbfimage.hbc
  * contrib/sddodbc/sddodbc.hbc
  * contrib/hbgd/hbgd.hbc
  * contrib/hbmisc/hbmisc.hbc
  * contrib/sddoci/sddoci.hbc
  * contrib/hbcomm/hbcomm.hbc
  * contrib/hbtip/hbtipssl.hbc
  * contrib/hbtip/hbtip.hbc
  * contrib/hbcairo/hbcairo.hbc
  * contrib/hbwin/hbwin.hbc
  * contrib/hbssl/hbssls.hbc
  * contrib/hbssl/hbssl.hbc
  * contrib/hbsms/hbsms.hbc
  * examples/ps32/ps32.hbc
  * examples/hbsqlit2/hbsqlit2.hbc
  * examples/gfspell/gfspell.hbc
  * examples/rddado/rddado.hbc
  * examples/hbapollo/hbapollo.hbc
  * examples/hbvpdf/hbvpdf.hbc
  * examples/hbbtree/hbbtree.hbc
  * examples/gtwvw/gtwvw.hbc
    % Replaced libs=<libname> with libs=${hb_name} to avoid repeating 
      the libs own name, if it's the same as the name of the .hbc file.
2010-06-04 11:08:35 +00:00
Viktor Szakats
dd822ce204 2010-06-01 00:39 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
+ contrib/hbblat/hbblat.hbp
  + contrib/hbqt/gtqtc/gtqtc.hbp
  + contrib/hbqt/gtqtc/gtqtcs.hbp
  + contrib/hbblink/hbblink.hbp
  + contrib/hbnf/hbnf.hbp
  + contrib/hbmemio/hbmemio.hbp
  + contrib/hbfship/hbfship.hbp
  + contrib/hbnetio/hbnetio.hbp
  + contrib/gtwvg/gtwvg.hbp
  + contrib/hbmisc/hbmisc.hbp
  + contrib/hbbtree/hbbtree.hbp
    + Added hbmk2 make files.
    ; NOTE: I intend to move hbbtree to the examples section.
            It has unfixed portability problems since long time.

  * contrib/hbqt/hbqt_common.hbm
  * contrib/hbqt/detect.mk
    ! Fixed key header name after last changes.

  * contrib/hbqt/hbqts.hbp
  * contrib/hbqt/hbqtguis.hbp
  * contrib/hbqt/hbqtcores.hbp
  * contrib/hbqt/hbqtnetworks.hbp
    + Skipping build if HB_QT_STATIC is not set.
2010-05-31 22:40:55 +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
4481de3e73 2010-05-24 21:11 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/hashes.c
    * do not clone preallocated unused area

  * harbour/contrib/hbnetio/netiocli.c
    * disabled RT errors inside NETIO_CONNECT() and NETIO_GETCONNECTION()
      when wrong password or NETIO server is used but return .F.
2010-05-24 19:11:15 +00:00
Przemyslaw Czerpak
7a908f8304 2010-05-23 10:46 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbnetio/netiocli.c
    * replaced repeated code by static function
2010-05-23 08:47:05 +00:00
Przemyslaw Czerpak
20c6c6ee76 2010-05-22 23:54 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbnetio/netiocli.c
  * harbour/contrib/hbnetio/readme.txt
    + added new client side function:
      NETIO_GETCONNECTION( [<cServer>], [<nPort>], [<nTimeOut>], ;
                           [<cPasswd>], [<nCompressionLevel>], [<nStrategy>] )
            -> <pConnection> | NIL
      I returns pointer item with HBNTIO connection. It can be used to
      speedup RPC calls and stream functions when <pConnection> is
      passed as parameter to these functions.
    + modified NETIO_PROCEXISTS(), NETIO_PROCEXEC(), NETIO_PROCEXECW(),
      NETIO_FUNCEXEC(), NETIO_OPENDATASTREAM(), NETIO_OPENITEMSTREAM()
      client side functions to accept as optional 1-st parameter
      connection pointer returned by NETIO_GETCONNECTION()
    + modified NETIO_CLOSESTREAM() and NETIO_GETDATA() client side
      functions to accept as optional 2-nd parameter connection pointer
      returned by NETIO_GETCONNECTION()
2010-05-22 21:55:01 +00:00
Przemyslaw Czerpak
071313e56e 2010-05-12 14:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbnetio/netiosrv.c
    ! fixed yet another typo located by Aleksander Czajczyki which
      caused internal error (hb_xfree() with NULL pointer)
2010-05-12 12:30:27 +00:00
Przemyslaw Czerpak
604cce1812 2010-05-12 12:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbnetio/netiosrv.c
    ! fixed typo in NETIO_SRVSTATUS() - -2 was always returned
      (modification committed by mistake in my previous commit)
    ! fixed to return .F. by NETIO_SRVSEND{DATA,IETM}() if hb_znetFlush()
      reports error.
      Many thanks for Aleksander Czajczyński for information about problems
      and his extensive tests.
2010-05-12 10:10:54 +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
Przemyslaw Czerpak
bfd863c576 2010-04-30 11:39 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbznet.c
    ! fixed stupid typo which caused that hb_znetFlush() in encrypted
      buffers never returned 0 (the returned value was increased by 4)

  * harbour/contrib/hbnetio/netio.h
  * harbour/contrib/hbnetio/netiocli.c
  * harbour/contrib/hbnetio/netiosrv.c
  * harbour/contrib/hbnetio/readme.txt
    + added support for communication streams/channels which allow to
      send asynchronously data from server to client.
      The following client side functions had been added:
         NETIO_OPENDATASTREAM( <cStreamFuncName> [, <params,...>] )
            -> <nStreamID>
         NETIO_OPENITEMSTREAM( <cStreamFuncName> [, <params,...>] )
            -> <nStreamID>
         NETIO_CLOSESTREAM( <nStreamID>, [<cServer>], [<nPort>] )
            -> <lOK>
         NETIO_GETDATA( <nStreamID>, [<cServer>], [<nPort>] )
            -> <aData> | <cData> | NIL
      The following server side functions had been added:
         NETIO_SRVSTATUS( <pConnectionSocket> [, <nStreamID>] )
            -> <nStatus>
         NETIO_SRVSENDITEM( <pConnectionSocket>, <nStreamID>, <xData> )
            -> <lSent>
         NETIO_SRVSENDDATA( <pConnectionSocket>, <nStreamID>, <cData> )
            -> <lSent>
    + added RT errors to the netio client code. They should help to early
      detect any communication problems
    ! disabled hb_socketSetNoDelay() in client and server code.
      I enabled it for some local tests and by mistake committed to SVN
      and I didn't noticed it. It could cause serious problems in some cases
      i.e. with slow WiFi or WAN connections.

      Warning: server signature changed due to extensions in protocol.
               both client and server side has to be updated and use
               current SVN code.

  + harbour/contrib/hbnetio/tests/netiot03.prg
    + added demonstration/test code for alternative RDD IO API, RPC and
      asynchronous data streams in HBNETIO
2010-04-30 09:39:25 +00:00
Viktor Szakats
c6bef5ae3e 2010-04-24 13:35 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/achoice.prg
    ! REVERTED: Fixed typo in ACHOICE() K_UP handling, which caused a
      bogus line to appear below the bottom when the height of the
      achoice area was only one line. Pls verify me for regressions.
      [ It did cause regression. So now the original bug is present
      again. ]
      TOFIX: ---
             #include "inkey.ch"
             CLS
             hb_keyPut( K_DOWN )
             hb_keyPut( K_UP ) /* bogus '2' appears out of the area here. */
             AChoice( 0, 0, 0, 0, { "1", "2" } )
             ---
2010-04-24 11:37:11 +00:00
Viktor Szakats
d35a1a4ecd 2010-02-09 21:57 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    + Added more info on HB_SIZE/HB_ISIZ future plans.

  * contrib/hbmemio/memio.c
  * contrib/hbnetio/netiocli.c
    - Deleted ( HB_SIZE ) casts in more obscure places.

  * utils/hbmk2/hbmk2.prg
    + -hbnolib option is now automatically enabled in -hbdyn mode.
      To disable it anyway, -hbnolib- option can be used.
2010-02-09 20:58:31 +00:00
Viktor Szakats
7d28beac44 2010-02-09 15:43 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/pp/ppcore.c
  * src/vm/strapi.c
  * src/vm/debug.c
  * src/vm/itemapi.c
  * src/vm/cmdarg.c
  * src/vm/set.c
  * src/debug/dbgentry.c
  * src/common/hbfsapi.c
  * src/common/hbstr.c
  * src/common/strwild.c
  * src/nortl/nortl.c
  * src/rtl/lennum.c
  * src/rtl/strmatch.c
  * src/rtl/gtstd/gtstd.c
  * src/rtl/hbstrfmt.c
  * src/rtl/transfrm.c
  * src/rtl/gtcgi/gtcgi.c
  * src/rtl/filesys.c
  * src/rtl/console.c
  * src/rtl/hbgtcore.c
  * src/rtl/cdpapi.c
  * src/rtl/gtclip.c
  * src/rtl/mlcfunc.c
  * src/rtl/itemseri.c
  * src/rtl/gtpca/gtpca.c
  * src/rtl/samples.c
  * src/rtl/gete.c
  * src/rdd/workarea.c
  * src/rdd/hsx/hsx.c
  * src/rdd/hbsix/sxsem.c
  * src/rdd/hbsix/sxfname.c
  * contrib/xhb/dbf2txt.c
  * contrib/xhb/datesxhb.c
  * contrib/xhb/dbgfxc.c
  * contrib/hbmzip/hbmzip.c
  * contrib/hbmemio/memio.c
  * contrib/hbnetio/netiocli.c
  * contrib/gtwvg/wvgwing.c
  * contrib/hbpgsql/postgres.c
  * contrib/hbclipsm/num.c
  * contrib/rddads/ads1.c
  * contrib/hbfimage/fi_wrp.c
    + Added '( HB_SIZE )' casts to 'strlen()' calls where
      it was converted to HB_SIZE. This pacifies long standing
      win64 warnings.
      Remaining warnings are (among others) useful to spot places where
      non-HB_SIZE is used in Harbour code to store sizes.

  * contrib/hbpgsql/postgres.c
    ! Type cleanup.
2010-02-09 14:55:08 +00:00
Viktor Szakats
b1cd0953df 2010-02-08 22:49 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/pp/ppcore.c
  * src/pp/hbpp.c
  * src/vm/macro.c
  * src/vm/runner.c
  * src/vm/estack.c
  * src/vm/itemapi.c
  * src/vm/hvm.c
  * src/vm/cmdarg.c
  * src/vm/maindllp.c
  * src/vm/fm.c
  * src/vm/thread.c
  * src/vm/memvars.c
  * src/vm/eval.c
  * src/vm/extend.c
  * src/vm/classes.c
  * src/debug/dbgentry.c
  * src/common/expropt1.c
  * src/common/expropt2.c
  * src/common/hbhash.c
  * src/nortl/nortl.c
  * src/macro/macrolex.c
  * src/rtl/gtxwc/gtxwc.c
  * src/rtl/gtstd/gtstd.c
  * src/rtl/gtcgi/gtcgi.c
  * src/rtl/errapi.c
  * src/rtl/hbprocfn.c
  * src/rtl/hbsocket.c
  * src/rtl/gtpca/gtpca.c
  * src/rtl/filebuf.c
  * src/rtl/hbproces.c
  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/dbsql.c
  * src/rdd/hbdbsort.c
  * src/rdd/workarea.c
  * src/rdd/wacore.c
  * src/rdd/sdf1.c
  * src/rdd/dbcmdx.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbcmd.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/delim1.c
  * src/rdd/dbf1.c
  * src/rdd/hsx/hsx.c
  * src/rdd/usrrdd/usrrdd.c
  * src/rdd/wafunc.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/rdd/hbsix/sxord.c
  * src/rdd/hbsix/sxfname.c
  * src/rdd/hbsix/sxtable.c
  * src/rdd/hbsix/sxutil.c
  * src/rdd/hbsix/sxcrypt.c
  * src/compiler/ppcomp.c
  * src/compiler/hbmain.c
  * src/compiler/compi18n.c
  * src/compiler/cmdcheck.c
  * src/compiler/hbdbginf.c
  * src/compiler/hbpcode.c
  * src/compiler/genhrb.c
  * src/compiler/hbdead.c
  * src/compiler/complex.c
  * src/compiler/genobj32.c
  * src/compiler/genc.c
  * src/compiler/hbopt.c
  * src/compiler/hbident.c
  * src/compiler/gencc.c
  * src/compiler/hbcmplib.c
  * src/compiler/hblbl.c
  * src/compiler/harbour.yyc
  * src/compiler/harbour.y
  * include/hbpp.h
  * include/hbrdddbf.h
  * include/hbvmpub.h
  * include/hbrddnsx.h
  * include/hbstack.h
  * include/hbgtcore.h
  * include/hbapifs.h
  * include/hbthread.h
  * include/hbdefs.h
  * include/hbmacro.h
  * include/hbinit.h
  * include/hbtypes.h
  * include/hbrddsdf.h
  * include/hbapi.h
  * include/hbapiitm.h
  * include/hbrddntx.h
  * include/hbvm.h
  * include/hbapidbg.h
  * include/hbcomp.h
  * include/hbapirdd.h
  * include/hbcompdf.h
  * include/hbrdddel.h
  * include/hbexpra.c
  * include/hbexprop.h
  * include/hbrddcdx.h
  * include/hbapicls.h
  * include/hbapierr.h
  * include/hbrddfpt.h
  * include/hbhash.h
  * include/hbregex.h
  * include/hbexprb.c
  * contrib/hbct/screen2.c
  * contrib/hbct/token2.c
  * contrib/hbct/dbftools.c
  * contrib/hbct/atadjust.c
  * contrib/hbct/ctwin.c
  * contrib/hbct/files.c
  * contrib/hbct/dattime3.c
  * contrib/hbct/ctstr.c
  * contrib/hbct/screen1.c
  * contrib/hbct/token1.c
  * contrib/hbct/ctc.c
  * contrib/hbct/ct.h
  * contrib/hbct/atnum.c
  * contrib/hbct/asciisum.c
  * contrib/hbct/numat.c
  * contrib/hbct/atrepl.c
  * contrib/xhb/bkgtsks.c
  * contrib/xhb/hbcrypt.c
  * contrib/xhb/fparse.c
  * contrib/xhb/datesxhb.c
  * contrib/xhb/hbnxs.h
  * contrib/hbqt/gtqtc/gtqtc.cpp
  * contrib/xpp/dbcmdx.c
  * contrib/hbnf/dispc.c
  * contrib/hbnf/ftattr.c
  * contrib/hbmemio/memio.c
  * contrib/hbnetio/netiocli.c
  * contrib/rddsql/sddmy/mysqldd.c
  * contrib/rddsql/sddpg/pgsqldd.c
  * contrib/rddsql/sddfb/fbirddd.c
  * contrib/rddsql/sddodbc/odbcdd.c
  * contrib/rddsql/hbrddsql.h
  * contrib/rddsql/sqlbase.c
  * contrib/rddsql/sqlmix.c
  * contrib/rddads/adsx.c
  * contrib/rddads/adsfunc.c
  * contrib/rddads/rddads.h
  * contrib/rddads/ads1.c
  * contrib/rddads/adsmgmnt.c
  * contrib/hbmisc/spd.c
  * contrib/hbtip/utils.c
  * contrib/hbtip/encmthd.c
  * contrib/hbbmcdx/bmdbfcdx.c
  * contrib/hbbmcdx/hbbmcdx.h
  * contrib/hbbtree/hb_btree.h
  * contrib/hbbtree/hb_btree.c
    * ULONG -> HB_ULONG, HB_SIZE
      (except for external (OS) API specific usage)
    * Formatting.

    ; NOTE: I converted ULONG to HB_SIZE where I felt it appropriate,
            but didn't touch compiler, codeblock handling, low-level
            RDD (Set/GetVarLen method) and high-level contrib RDDs, so
            this needs to be cleaned.
            Also there may be cases where I didn't change the whole
            call chain to HB_SIZE.

    ; NOTE: It would be probably worthy to add new types for these purposes:
           - line number (HB_USHORT)
           - record number (HB_ULONG)
           - RDD connection (HB_ULONG)
           - parameter count / stack position / class member positions / etc (HB_USHORT, sometimes HB_ULONG)
           - pcode (HB_BYTE and char)
           - flags / modes (HB_USHORT / HB_ULONG)
           - timers (HB_ULONG, HB_MAXINT)
           - GT API character (HB_USHORT)

    ; REQUESTS:
          - Pls don't over-align variable declarations. It makes
            modification much much slower. Sometimes declarations are
            aligned even if there was only one or two of them in a block.
          - Pls always add variable names in declarations, otherwise the purpose
            of the function is very slow to decipher when looking at it.
          - Keep up the nice formatting according to Harbour standards,
            it makes modifications much much easier.

    ; TODO:
          - Verify with grep script
          - Verify with HB_USER_CFLAGS=-DHB_LEGACY_TYPES_OFF
          - Make HB_LEGACY_TYPES_OFF default for Harbour builds.
          - Tie HB_LEGACY_TYPES_OFF to HB_LEGACY_LEVEL3
          - Replace current windows.h inclusion hack with regular method
          - Delete hacks dealing with former type chaos:
               HB_CLIPPER_INT_ITEMS, HB_DONT_DEFINE_BASIC_TYPES, HB_DONT_DEFINE_BOOL, HB_DONT_DEFINE_BYTE, HB_DONT_DEFINE_LONG
          - Retest hbfimage on *nix, delete hacks
          - Normalize HB_BYTE vs. HB_UCHAR usage
          - Type cleanups, f.e. HB_SIZE vs. HB_ULONG
          - Add new special types (see above)
          - Switch HB_SIZE to signed (big project), and delete HB_ISIZ afterwards.
2010-02-08 21:52:47 +00:00
Viktor Szakats
32f59a1f70 2010-02-08 19:52 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/macro.c
  * src/vm/runner.c
  * src/vm/estack.c
  * src/vm/codebloc.c
  * src/vm/debug.c
  * src/vm/hvm.c
  * src/vm/pvalue.c
  * src/vm/arrays.c
  * src/vm/memvars.c
  * src/vm/eval.c
  * src/vm/classes.c
  * src/common/hbffind.c
  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/workarea.c
  * src/rdd/sdf1.c
  * src/rdd/dbcmdx.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbcmd.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/delim1.c
  * src/rdd/dbf1.c
  * src/rdd/usrrdd/usrrdd.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/rdd/hbsix/sxord.c
  * src/compiler/hbmain.c
  * src/compiler/hbpcode.c
  * src/compiler/genc.c
  * src/compiler/hbopt.c
  * src/compiler/gencc.c
  * src/compiler/hblbl.c
  * tests/bldtest/bldtest.c
  * include/hbstack.h
  * include/hbapifs.h
  * include/hbxvm.h
  * include/hbdefs.h
  * include/hbmacro.h
  * include/hbapi.h
  * include/hbcomp.h
  * include/hbapirdd.h
  * include/hbsxfunc.h
  * include/hbrddcdx.h
  * include/hbexprb.c
  * contrib/hbct/maxline.c
  * contrib/hbct/numcount.c
  * contrib/hbct/addascii.c
  * contrib/xhb/xhbenum.c
  * contrib/xhb/xhbqself.c
  * contrib/xhb/xhbwith.c
  * contrib/xhb/hbcomprs.c
  * contrib/xhb/xhbmsgs.c
  * contrib/hbmzip/hbmzip.c
  * contrib/xpp/dbcmdx.c
  * contrib/hbnetio/netiocli.c
  * contrib/rddsql/sqlbase.c
  * contrib/rddsql/sqlmix.c
  * contrib/rddads/adsx.c
  * contrib/rddads/ads1.c
  * contrib/hbbmcdx/bmdbfcdx.c
  * contrib/hbbmcdx/hbbmcdx.h
  * contrib/hbbtree/hb_btree.h
  * contrib/hbbtree/hb_btree.c
    * LONG -> HB_LONG, long (for dates and extend / item API contexts)
      (except for external (OS) API specific usage)

  * src/vm/maindll.c
    * LONG -> void *
    + Added 'const' to char * parameter.

  * contrib/hbct/numline.c
  * contrib/hbct/ctpad.c
    * LONG -> HB_LONG, HB_ISIZ
    * Formatting.

  * contrib/xhb/hbxml.h
    * LONG -> HB_ISIZ

  * contrib/xhb/freadlin.c
    * LONG, int -> HB_ISIZ
2010-02-08 18:54:32 +00:00
Viktor Szakats
bfe79a7bf9 2010-02-07 12:48 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbbmcdx/bmdbfcdx.c
  * contrib/hbbmcdx/hbbmcdx.h
  * contrib/hbbtree/hb_btree.h
  * contrib/hbbtree/hb_btree.c
  * contrib/hbnetio/netiocli.c
  * contrib/hbnetio/netiosrv.c
  * contrib/rddsql/sddmy/mysqldd.c
  * contrib/rddsql/sddpg/pgsqldd.c
  * contrib/rddsql/sddfb/fbirddd.c
  * contrib/rddsql/sddodbc/odbcdd.c
  * contrib/rddsql/hbrddsql.h
  * contrib/rddsql/sqlbase.c
  * contrib/rddsql/sqlmix.c
  * contrib/rddads/adsx.c
  * contrib/rddads/ads1.c
  * contrib/xhb/bkgtsks.c
  * contrib/xhb/hbcrypt.c
  * contrib/xhb/dbf2txt.c
  * contrib/xhb/xhbcopyf.c
  * contrib/xhb/xhbfunc.c
  * contrib/xpp/philesx.c
  * contrib/hbnf/ftattr.c
    * USHORT -> HB_USHORT

  * contrib/xhb/xhbsave.c
    * USHORT -> int

  * contrib/xhb/filestat.c
    * USHORT -> HB_FATTR

  * contrib/hbmemio/memio.c
    * USHORT -> HB_USHORT
    * USHORT -> HB_ERRCODE

  * contrib/hbqt/gtqtc/gtqtc.cpp
  * contrib/hbqt/gtqtc/gtqtc.h
    * USHORT -> int, HB_USHORT

  * contrib/hbnf/fttext.c
  * contrib/hbmisc/hb_f.c
    + Added "largefile" support. (at least on the low-level)
    * USHORT -> HB_USHORT

  * contrib/hbmisc/tests/testhbf.prg
    - Deleted old comment.
2010-02-08 11:50:58 +00:00
Viktor Szakats
d320459c18 2010-02-07 02:02 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/pp/ppcore.c
  * src/vm/macro.c
  * src/vm/runner.c
  * src/vm/codebloc.c
  * src/vm/garbage.c
  * src/vm/hvm.c
  * src/vm/maindllp.c
  * src/vm/fm.c
  * src/vm/extrap.c
  * src/vm/memvars.c
  * src/common/expropt1.c
  * src/common/expropt2.c
  * src/common/hbarch.c
  * src/common/hbmem.c
  * src/nortl/nortl.c
  * src/rtl/gtdos/gtdos.c
  * src/rtl/gtwin/gtwin.c
  * src/rtl/gtxwc/gtxwc.h
  * src/rtl/gtxwc/gtxwc.c
  * src/rtl/gtcrs/gtcrs.c
  * src/rtl/gtstd/gtstd.c
  * src/rtl/gttrm/gttrm.c
  * src/rtl/gtcgi/gtcgi.c
  * src/rtl/gtapi.c
  * src/rtl/gtos2/gtos2.c
  * src/rtl/hbgtcore.c
  * src/rtl/gtsln/gtsln.c
  * src/rtl/gtsln/kbsln.c
  * src/rtl/gtsln/gtsln.h
  * src/rtl/gtpca/gtpca.c
  * src/rtl/gt_tpl/gt_tpl.c
  * src/rtl/gtwvt/gtwvt.h
  * src/rtl/gtwvt/gtwvt.c
  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/dbsql.c
  * src/rdd/hbdbsort.c
  * src/rdd/workarea.c
  * src/rdd/sdf1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/delim1.c
  * src/rdd/dbf1.c
  * src/rdd/hsx/hsx.c
  * src/rdd/usrrdd/usrrdd.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/rdd/hbsix/sxsem.c
  * src/rdd/hbsix/sxcompr.c
  * src/compiler/ppcomp.c
  * src/compiler/hbmain.c
  * src/compiler/hbfix.c
  * src/compiler/hbdbginf.c
  * src/compiler/hbpcode.c
  * src/compiler/genhrb.c
  * src/compiler/hbdead.c
  * src/compiler/genobj32.c
  * src/compiler/genc.c
  * src/compiler/hbopt.c
  * src/compiler/gencc.c
  * src/compiler/hbcmplib.c
  * src/compiler/hblbl.c
  * src/compiler/harbour.yyc
  * src/compiler/harbour.y
  * src/compiler/harbour.yyh
  * tests/bldtest/bldtest.c
  * tests/tstgtapi.c
  * include/hbpp.h
  * include/hbrdddbf.h
  * include/hbvmpub.h
  * include/hbrddnsx.h
  * include/hbgtcore.h
  * include/hbxvm.h
  * include/hbdefs.h
  * include/hbmacro.h
  * include/hbtypes.h
  * include/hbrddsdf.h
  * include/hbapi.h
  * include/hbrddntx.h
  * include/hbvm.h
  * include/hbcomp.h
  * include/hbapirdd.h
  * include/hbcompdf.h
  * include/hbrdddel.h
  * include/hbexpra.c
  * include/hbexprop.h
  * include/hbdbf.h
  * include/hbdbsort.h
  * include/hbapigt.h
  * include/hbrddcdx.h
  * include/hbrddfpt.h
  * include/hbexprb.c
  * contrib/gtalleg/gtalleg.c
  * contrib/hbct/ctwin.c
  * contrib/hbct/ascpos.c
  * contrib/hbct/screen1.c
  * contrib/hbct/ctcrypt.c
  * contrib/xhb/hbxml.c
  * contrib/xhb/xhbis.c
  * contrib/xhb/fparse.c
  * contrib/xhb/xhbat.c
  * contrib/xhb/xhbcopyf.c
  * contrib/xhb/cstructc.c
  * contrib/hbqt/gtqtc/gtqtc.cpp
  * contrib/hbqt/gtqtc/gtqtc.h
  * contrib/xpp/philesx.c
  * contrib/hbnf/ftshadow.c
  * contrib/hbnf/ftattr.c
  * contrib/hbnetio/netiocli.c
  * contrib/hbnetio/netiosrv.c
  * contrib/rddsql/sddmy/mysqldd.c
  * contrib/rddsql/sddpg/pgsqldd.c
  * contrib/rddsql/sddfb/fbirddd.c
  * contrib/rddsql/sddodbc/odbcdd.c
  * contrib/rddsql/hbrddsql.h
  * contrib/rddsql/sqlbase.c
  * contrib/rddsql/sqlmix.c
  * contrib/gtwvg/gtwvg.c
  * contrib/gtwvg/wvggui.c
  * contrib/gtwvg/wvgcore.c
  * contrib/gtwvg/wvgwing.c
  * contrib/rddads/adsx.c
  * contrib/rddads/rddads.h
  * contrib/rddads/ads1.c
  * contrib/hbtip/utils.c
  * contrib/hbwin/win_regc.c
  * contrib/hbwin/win_prn2.c
  * contrib/hbbmcdx/bmdbfcdx.c
  * contrib/hbbmcdx/hbbmcdx.h
  * contrib/hbbtree/hb_btree.c
    * BYTE -> HB_BYTE except where BYTE was used in OS-specific context.
    * Some formatting.
    ; I didn't realign structure definitions in hbrdd*.h yet.

  * contrib/hbwin/win_regc.c
    * Minor type cleanup.

  * src/rtl/gt_tpl/gt_tpl.c
    * BYTE -> int for color.

  * examples/hbapollo/apollo.c
    % Deleted MAX_STR_LEN.
2010-02-08 01:18:46 +00:00
Viktor Szakats
f9336a957b 2010-02-07 16:34 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/cdpapi.c
    ! Fixed type when manually correcting 'unsigned char' to UCHAR
      to sync with declaration.

  * contrib/gtwvg/gtwvg.c
    ! Fixed wrong casts (HB_LONG instead of long)

  * src/pp/ppcore.c
  * src/vm/macro.c
  * src/vm/hashes.c
  * src/vm/itemapi.c
  * src/vm/hvm.c
  * src/vm/arrays.c
  * src/vm/task.c
  * src/vm/thread.c
  * src/vm/extend.c
  * src/common/hbwince.c
  * src/common/expropt1.c
  * src/common/hbstr.c
  * src/common/expropt2.c
  * src/common/hbdate.c
  * src/macro/macro.yyc
  * src/macro/macro.y
  * src/macro/macro.yyh
  * src/macro/macrolex.c
  * src/rtl/gttrm/gttrm.c
  * src/rtl/hbstrfmt.c
  * src/rtl/hbcrc.c
  * src/rtl/minmax.c
  * src/rtl/hbrandom.c
  * src/rtl/hbsocket.c
  * src/rtl/hbbit.c
  * src/rtl/hbgtcore.c
  * src/rtl/cputime.c
  * src/rtl/idle.c
  * src/rtl/itemseri.c
  * src/rtl/gtsln/gtsln.c
  * src/rtl/gtpca/gtpca.c
  * src/rtl/hbznet.c
  * src/rtl/hbhex.c
  * src/rtl/seconds.c
  * src/rtl/abs.c
  * src/rtl/gtwvt/gtwvt.c
  * src/rtl/hbbyte.c
  * src/rtl/val.c
  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/dbsql.c
  * src/rdd/sdf1.c
  * src/rdd/delim1.c
  * src/rdd/dbf1.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/compiler/hbmain.c
  * src/compiler/complex.c
  * src/compiler/harbour.yyc
  * src/compiler/harbour.y
  * src/compiler/harbour.yyh
  * include/hbvmpub.h
  * include/hbgtcore.h
  * include/hbthread.h
  * include/hbdefs.h
  * include/hbmacro.h
  * include/hbapi.h
  * include/hbapiitm.h
  * include/hbznet.h
  * include/hbvm.h
  * include/hbcomp.h
  * include/hbcompdf.h
  * include/hbexprop.h
  * include/hbsocket.h
  * include/hbchksum.h
  * include/hbexprb.c
  * include/hbdate.h
  * contrib/hbct/bitnum.c
  * contrib/hbct/dbftools.c
  * contrib/hbct/files.c
  * contrib/hbct/disk.c
  * contrib/xhb/xhbfunc.c
  * contrib/hbcurl/hbcurl.c
  * contrib/hbnetio/netiocli.c
  * contrib/hbnetio/netiosrv.c
  * contrib/gtwvg/gtwvg.c
  * contrib/gtwvg/wvggui.c
  * contrib/gtwvg/wvgcore.c
  * contrib/rddads/ads1.c
  * contrib/hbwin/olecore.c
    * HB_LONG  -> HB_MAXINT
    * HB_ULONG -> HB_MAXUINT
2010-02-07 15:37:24 +00:00
Viktor Szakats
11f39645d2 2010-02-07 13:16 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/fm.c
  * src/vm/extrap.c
  * src/common/hbarch.c
  * src/nortl/nortl.c
  * src/rtl/binnum.c
  * src/rtl/hbbffnc.c
  * src/rtl/hbznet.c
  * src/rtl/hbbfish.c
  * src/rtl/hbbyte.c
  * src/rtl/binnumx.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/dbf1.c
  * src/rdd/hsx/hsx.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/rdd/hbsix/sxcrypt.c
  * src/compiler/cmdcheck.c
  * include/hbgtcore.h
  * include/hbdefs.h
  * include/hbbfish.h
  * contrib/hbct/bitnum.c
  * contrib/hbct/ctwin.c
  * contrib/xpp/binnumx.c
  * contrib/hbnetio/netiocli.c
  * contrib/hbnetio/netiosrv.c
  * contrib/hbbmcdx/bmdbfcdx.c
  * contrib/hbbtree/hb_btree.c
    * UINT16 -> HB_U16
    * UINT32 -> HB_U32
    * UINT64 -> HB_U64
    * INT16  -> HB_I16
    * INT32  -> HB_I32
    * INT64  -> HB_I64

  * contrib/hbct/bitnum.c
    ! Fixed INTNEG(), INTPOS(). Second 'l32bit' 
      parameter was working in reverse.
2010-02-07 12:17:40 +00:00
Viktor Szakats
7a0be14e88 2010-02-06 16:04 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/filesys.c
  * src/rtl/philes.c
  * src/rtl/filebuf.c
  * src/rtl/memofile.c
  * src/rdd/dbsql.c
  * src/rdd/hbsix/sxcompr.c
  * doc/en-EN/hb_apifs.txt
  * include/hbapifs.h
  * contrib/hbct/ctstrfil.c
  * contrib/hbsqlit3/hbsqlit3.c
  * contrib/hbmzip/hbmzip.c
  * contrib/hbnf/fttext.c
  * contrib/hbmemio/memio.c
  * contrib/hbnetio/netiocli.c
  * contrib/hbnetio/netiosrv.c
  * contrib/hbgd/gdwrp.c
  * contrib/hbwin/win_bmp.c
  * contrib/hbbmcdx/bmdbfcdx.c
  * examples/gtwvw/gtwvw.c
    * Changed ULONG to HB_SIZE and HB_ISIZ in FS API functions.
    ! hb_fsTell() fixed to return HB_FOFFSET instead of ULONG.

  * contrib/hbmzip/hbmzip.c
    * ULONG -> HB_FATTR, uLong
    * Type cleanups.
    ; QUESTION: Is there any reason why we're not using the hb_fs*() functions
                in hb_zipGetFileInfo()?

  * src/vm/runner.c
    * ULONG -> HB_SIZE for size related variables.

  ; Review me please.
2010-02-06 15:05:04 +00:00
Przemyslaw Czerpak
e3e3f092ec 2010-02-04 19:14 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapifs.h
  * harbour/src/rtl/filebuf.c
  * harbour/contrib/hbmemio/memio.c
  * harbour/contrib/hbnetio/netiocli.c
    + added new method:
         void Flush( PHB_FILE pFile, HB_BOOL fDirty );
      to replaceable RDD IO structure (HB_FILE)
    + added new function:
         void hb_fileFlush( PHB_FILE pFile, HB_BOOL fDirty );

  * harbour/src/rdd/dbfntx/dbfntx1.c
  * harbour/src/rdd/dbfnsx/dbfnsx1.c
  * harbour/src/rdd/dbfcdx/dbfcdx1.c
  * harbour/src/rdd/dbffpt/dbffpt1.c
    * use hb_fileFlush()

  * harbour/src/vm/hvm.c
  * harbour/include/hbxvm.h
    ! fixed hb_xvm{Local,Static,Module}Name() to use 'const char *'
      instead of 'char *' - modifications by Xavi (jarabal)

  * harbour/include/hbapi.h
  * harbour/include/hbxvm.h
  * harbour/include/hbmacro.h
  * harbour/include/hbcompdf.h
  * harbour/src/vm/hvm.c
  * harbour/src/vm/macro.c
  * harbour/src/vm/memvars.c
    * replaced some 'BYTE' types with 'unsigned char' or 'int' types
    * cleanup some other casting and types to reduce conversions
      between function calls

  * harbour/src/common/expropt1.c
    ; updated comments

  * harbour/include/hbpp.h
  * harbour/include/hbexprop.h
  * harbour/include/hbexpra.c
  * harbour/include/hbexprb.c
    * eliminated HB_EXPR_PCODE?() macros
    ! fixed potential GPF trap during compilation of _GET_() functions
      which can be exploited by strange code using some special expressions
      as get variable.
      TODO: eliminate hb_compExprClone() used in hb_compExprSetGetBlock(),
            our optimization module does not care about shared expressions
            so it can be source of serious problems in the future if someone
            use this functions for non optimized expression which will be
            reduced later.
    * emulate clipper behavior for codeblock optimizations and do
      not optimize all codeblocks if -kc switch is used and codeblocks
      is inside non optimized part of code like (Clipper has such
      places)
    % simplified and optimized some functions like hb_compExprReduceList()
2010-02-04 18:15:07 +00:00
Viktor Szakats
25550fe1fc 2010-02-03 20:34 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/fstemp.c
  * include/hbapifs.h
  * include/hbextern.ch
    + Added HB_DIRTEMP() .prg level function. Returns name of temp dir,
      with closing backslash.
    + Added hb_fsTempDir() .c level function.
    ; Please review, especially MS-DOS, OS/2, which I won't be able
      to test.

  * src/rtl/fstemp.c
    * Cleanup: Deleted hb_fsCreateTempLow(), made layout more clear.
    ; TOFIX: For some builds, MS-DOS, OS/2 and WIN without WIN IO
             the temp directory will be wrongly calculated by checking
             TMPDIR envvar. Such envvar seems *nix specific.
             If new hb_fsTempDir() will be tested, above can be fixed
             by using this new function.

  * package/winuni/RELNOTES
    + Noted update to Firebird 2.5.0rc1

  * contrib/hbpgsql/postgres.c
    + Marked recently deprecated function as HB_LEGACY_LEVEL3.

  * contrib/hbfbird/firebird.c
    * Cleanup for a macro.

  * contrib/hbnetio/utils/netiosrv.prg
    + Using HB_HRB_BIND_FORCELOCAL when loading .hrb.

  * contrib/hbnetio/utils/modules/test.prg
    + Marked function as STATIC.

  * ChangeLog
    * Old TODO marked DONE.
2010-02-03 19:37:35 +00:00
Viktor Szakats
c55fc2a796 2010-01-26 20:40 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + -xhp= converter switch now recognizes some more types of file.
      (lib, object and libpaths)

  * contrib/hbnetio/utils/netiosrv.prg
  * contrib/hbnetio/utils/netiocmd.prg
    - Deleted call protection.
2010-01-26 19:41:36 +00:00
Viktor Szakats
37271cec25 2010-01-25 15:23 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbnetio/utils/netiocmd.prg
    ! Fixed remote execution protection to work even when
      the source was compiled from another directory.
    ; QUESTION: Is there a better way to make this kind of
                protection? Current system will break if
                the source filename of the caller happens to
                change in the future.

  * contrib/hbnetio/utils/netiosrv.prg
    + Show internal error and quit and if above self-protection 
      got broken for some reason.

  * utils/hbmk2/hbmk2.prg
    ! Fixed entry function detection builting project in 
      different than current dir, possibly also in -inc mode.
      [TOMERGE 2.0]
2010-01-25 14:24:54 +00:00
Viktor Szakats
ade0aa06b6 2010-01-23 02:21 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbnetio/utils/netiosrv.prg
  * contrib/hbnetio/utils/netiocmd.prg
    % Optimizations to latest patch (using FOR EACH).
    * Formatting and indenting to latest patch.
2010-01-23 01:25:13 +00:00
Viktor Szakats
1aae754554 2010-01-22 22:19 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbnetio/utils/netiosrv.hbp
  * contrib/hbnetio/utils/netiosrv.prg
  + contrib/hbnetio/utils/netiocmd.prg
    + Applied patch sent by Vailton Renato.
    * Some formatting applied to it.
2010-01-22 21:20:07 +00:00
Przemyslaw Czerpak
492f8fb1fd 2010-01-22 17:48 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/strapi.c
   * allow to pass NULL as item pointer in hb_item{Get,Copy}Str*() functions
   * updated hb_itemCopyStr*() functions to set '\0' in the buffer if not
     string item is passed as parameter
   * updated hb_itemCopyStr to return number of characters which could be
     stored in buffer if buffer when passed buffer is NULL and its size is 0
     Now all hb_itemCopyStr*() functions can be used to retirve the size in
     character of destination string by:
         ulSize = hb_itemCopyStr*( pItem ..., NULL, 0 )

  * harbour/contrib/hbnetio/netiocli.c
    * simplified the code by removing one unnecessary protection

  * harbour/contrib/xhb/xhw32prn.prg
    ! fixed stupid typo in method redirecting:
      :StartPage() was redirected to :Create() and :Create() was
      redirected to :StartPage()
2010-01-22 16:49:28 +00:00
Przemyslaw Czerpak
6d5ea44fbc 2010-01-21 11:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbnetio/netiocli.c
    * respect passed parameters as default values in netio_decode()
2010-01-21 10:51:12 +00:00
Przemyslaw Czerpak
18694826f6 2010-01-21 09:33 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbct/video.c
    ! fixed compilation for compilers using 'char' as unsigned type
  * harbour/contrib/hbmzip/hbmzip.c
    ! fixed to work with HB_FATTR
  * harbour/contrib/hbnetio/netiocli.c
    * pacified BCC warning
2010-01-21 08:33:48 +00:00
Przemyslaw Czerpak
d248d8e892 2010-01-21 01:09 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbnetio/netiocli.c
  * harbour/contrib/hbnetio/readme.txt
    + added new client side function:
      NETIO_DECODE( [@]<cFullName>, [@<cServer>], [@<nPort>], [@<nTimeOut>], ;
                   [@<cPasswd>], [@<nCompressionLevel>], [@<nStrategy>] )
            -> <lDecoded>
      Decode connection parameters from <cFullName> and default settings.
      Return .T. if <cFullName> contains any connection settings.
      <cFullName> should not contain "net:" prefix.

  * harbour/src/rtl/itemseri.c
    + added support for hash array flags and default value serialization
      Warning: before this modification hash arrays were always restored
               with binary sorting with default auto assign setting and
               without any default value and resorted if necessary. Now
               only non binary hash arrays are resorted what may cause
               problems for hash arrays not using binary sorting serialized
               by old code and restored by the current one. In such case
               it's necessary to restore original flags manually using
               hb_h*() functions to force resorting.
    - removed my TODO note:
         "extended hash format with default value and hash flags"
2010-01-21 00:10:08 +00:00
Viktor Szakats
edba3b4829 2010-01-16 11:39 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbnetio/utils/netiosrv.prg
    ! Fixed server not setting password.
    + Added command history support.
    + Added sysinfo command.
    + Added clipboard paste support.
    + Implemented suggestions by Przemek (QOUT(), HB_STRCLEAR())
2010-01-16 10:40:33 +00:00
Viktor Szakats
c07ce7ddf9 2010-01-16 02:12 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbnetio/tests/netiotst.prg
    ! Fixed to REQUEST dir related functions to avoid RTE.

  - contrib/hbnetio/tests/data
    - Deleted. Now it's created by RPC call.

  * contrib/hbwin/tests/testprn.prg
    * Formatting.

  * contrib/hbwin/win_prn1.c
    ! Using constants for dmOrientation.
2010-01-16 01:13:05 +00:00
Przemyslaw Czerpak
8517f3b274 2010-01-15 20:48 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbnetio/netiosrv.c
    ! fixed c&p typo - it should fix problem reported by Viktor in netiostv

  * harbour/contrib/hbwin/win_prn1.c
    * casting
2010-01-15 19:48:16 +00:00
Viktor Szakats
8b8d1e24e5 2010-01-14 22:04 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbct/ctnet.c
    * Further cleanups.

  * contrib/hbmemio/memio.c
    ! Fixed to use HB_TRUE/HB_FALSE instead of 1/0.

  * contrib/gtwvg/wvgwing.c
    + TOFIXes added to two suspicious boolean casts.

  * contrib/hbfimage/fi_wrp.c
    + Added proper conversion between Harbour boolean and
      FreeImage boolean value.
    % Optimized out unnecessary HB_ISNUM()/HB_ISLOG() calls.

  * contrib/hbnetio/netiocli.c
  * contrib/hbnetio/netiosrv.c
  * contrib/hbmemio/memio.c
  * src/nortl/nortl.c
  * examples/pp/pp.c
  * examples/pp/hbpragma.c
  * examples/pp/hbppcore.c
  * examples/pp/hbppcomp.c
  * examples/pp/hbppdef.h
  * examples/rddado/adordd.prg
    * BOOL  -> HB_BOOL
    * TRUE  -> HB_TRUE
    * FALSE -> HB_FALSE
2010-01-14 21:07:59 +00:00
Przemyslaw Czerpak
7c110952da 2010-01-13 20:14 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/hashes.c
    ! fixed missing HB_STACK_TLS_PRELOAD - thanks to Xavi

  * harbour/contrib/hbnetio/netiosrv.c
    ! fixed wrong declaration and casting of rpcFilter - thanks to Xavi

  + harbour/contrib/hbnetio/readme.txt
    + added small description of NETIO functions - now only client parts

  * harbour/contrib/hbwin/win_tprn.prg
    * updated class name in comments

  * harbour/contrib/hbwin/win_prn1.c
    * minor formatting

  * harbour/contrib/hbwin/win_prn3.c
    % removed unnecessary rest of buffer clearing in hb_tstrncat()
2010-01-13 19:15:05 +00:00
Viktor Szakats
25f48aa426 2010-01-13 18:11 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/tget.prg
    ! Fixed cursor positioning bug, when @S picture length is
      higher than actual edit buffer length.
      Thanks to Stupar for report.
      [TOMERGE 2.0]

  * contrib/hbnetio/utils/netiosrv.prg
    * Minor.
2010-01-13 17:14:01 +00:00
Viktor Szakats
892efc393d 2010-01-13 17:12 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/Makefile
  + src/rtl/strclear.c
  * include/hbextern.ch
    + Added HB_STRCLEAR() function to safely clear the content 
      of a string variable.
      Notice that this method by itself can only work if the 
      string variable has no other references, and generally 
      you have to code carefully to avoid creating unwanted 
      copies of the string when passing it around in an app.
      So this is no silver bullet, but rather just one component 
      to solve this problem.

  * contrib/hbnetio/utils/netiosrv.prg
    + Added steps to avoid having the password stored in memory, 
      while the server is running.

  * src/rtl/philes.c
    % Minor cleanup.
2010-01-13 16:13:29 +00:00
Viktor Szakats
2b1f7f3bc6 2010-01-13 15:45 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbnetio/utils/netiosrv.prg
    + Internal change moving all server object related variables to 
      one array.
    + Added 'config' command.
    * Changed exit command to quit to be in sync with other tools and hbrun.
    + Attempt to free password variable.
    + Showing 'unsafe' warning if RPC is enabled without filter module.
2010-01-13 14:45:29 +00:00
Viktor Szakats
6e4895e9de 2010-01-13 15:10 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsetup.ch
    * Disabled HB_LEGACY_LEVEL2 by default.
    * HB_LEGACY_OFF now controls HB_LEGACY_LEVEL3 (was HB_LEGACY_LEVEL2).
    + Added HB_LEGACY_LEVEL4
    ; SVN users notice: This may make your C code INCOMPATIBLE with
      this version, please review required changes (documented in older
      ChangeLog entries) and update your code. Look for HB_LEGACY_LEVEL2
      and INCOMPATIBLE keywords.

  * contrib/hbnetio/utils/netiosrv.prg
  + contrib/hbnetio/utils/modules.hbp
  + contrib/hbnetio/utils/modules
  + contrib/hbnetio/utils/modules/test.prg
    + Added simple command line to server.
    + Added list of possible feature as TODO. Most of these will
      need backend support from hbnetio lib.
    + Added detailed help screen.
    + Added --version option support.
    + Added support for -rpc=file.hrb option. Although for some
      reason (most likely my omission) it doesn't work yet.
    + -DHB_EXTERN will now enable inclusion of all core functions.
    + Added build file for .hrb modules.
    + Added little test module.
    + Added SETCANCEL( .F. ) to avoid irregular shutdown with Ctrl+C.

  * src/rtl/memoedit.prg
    ! Deleted hack which explicitly set lastkey to CTRL_END/W
      when exiting with changes saved. The comment said that
      it was added to make DBU happy, but it doesn't seem to be
      necessary anymore, at least I couldn't spot any problem
      without it. Pls check it.
    ! Fixed MEMOEDIT() not recognizing K_ESC as exit key when
      custom function is used.
      This fixes DBU not recognizing K_ESC as a way to exit
      memo editing. Please review, I'm not MEMOEDIT() user
      and this was such an obvious omission that I wonder
      if there was some real reason for it. Anyhow it was
      wrong before.

  * contrib/hbfimage/fi_wrp.c
  * contrib/hbclipsm/num.c
  * contrib/hbclipsm/numfloor.c
  * contrib/hbclipsm/status.c
  * contrib/hbclipsm/numceil.c
    * Formatting.
2010-01-13 14:11:50 +00:00
Przemyslaw Czerpak
4475e8b0af 2010-01-13 09:37 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/src/vm/hashes.c
    + added new function hb_hashGetCItemPtr() which accepts ASCIIZ string
      as index.

  * harbour/contrib/hbnetio/netiosrv.c
    + added support for using HASH arrays as RPC filter.
      Such hash array should be indexed by function/procedure name set of
      codeblocks or function references or even objects which understand
      EVAL method.
      Please remember that function names passed from client side are case
      sensitive so if you do not need it then please disable case matching
      in the hash array, i.e. using HB_HSETCASEMATCH( hValue, .F. ).
    * renamed NETIO_RPCFUNC() to NETIO_RPCFILTER() it's better name now
      because we added support for using hash arrays as RPC filters:
         NETIO_RPCFILTER( <pConnectionSocket>,
                          <sFuncSym> | <hValue> | NIL ) -> NIL

  * harbour/contrib/hbnetio/netiomt.prg
    + added support for setting RPC filter in NETIO_MTSERVER() using its
      4-th parameter:
         NETIO_MTSERVER( [<nPort>], [<cIfAddr>], [<cRootDir>],
                         [<lRPC> | <sFuncSym> | <hValue>],
                         [<cPasswd>], [<nCompressionLevel>], [<nStrategy>] )
            -> <pListenSocket>

  * harbour/contrib/hbclipsm/environ.c
    ! fixed GPF in FILEDRIVE() function on platforms which do not support
      drive letters or when path does not contain drive.
    % small optimization in FILEPATH(), FILEBASE(), FILEEXT(), FILEDRIVE()
2010-01-13 08:38:05 +00:00
Viktor Szakats
51934abb5c 2010-01-12 16:44 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbstr.c
    * Formatting.

  * contrib/hbwin/win_prn3.c
    + Added static versions of strlen and strncat working on TCHARs,
      to replace lstrlen(), lstrcat() unsafe calls.

  * contrib/hbnetio/utils/netiosrv.prg
    + Option renamed: -addr= -> -iface=
    + Added warning for unknown options.

  * contrib/hbnetio/tests/netiot02.prg
    + Date setup.

  * contrib/hbcurl/hbcurl.c
  * contrib/hbssl/ssl.c
  * contrib/hbssl/pem.c
    ! Wrapped hb_vmEvalBlockV() calls between hb_vmRequestReender()
      and hb_vmRequestRestore() call pairs.
2010-01-12 15:46:03 +00:00
Viktor Szakats
774bf60b43 2010-01-12 13:08 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbnetio/utils/netiosrv.prg
    + Added new parameter parsing allowing to pass options in free
      order in any combination.
2010-01-12 12:08:46 +00:00
Viktor Szakats
1b2dbede47 2010-01-12 12:23 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbnetio/utils/netiosrv.hbp
    + Now includes hbmk.hbm so that the .hbp file works when 
      hbmk2 is launched from other directory.
2010-01-12 11:24:20 +00:00
Przemyslaw Czerpak
9fd022b45a 2010-01-11 19:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbnetio/netio.h
  * harbour/contrib/hbnetio/netiomt.prg
  * harbour/contrib/hbnetio/netiocli.c
  * harbour/contrib/hbnetio/netiosrv.c
    * updated some comments

  * harbour/examples/gtwvw/gtwvw.c
    ! fixed typo in HB_TRACE() message
2010-01-11 18:40:44 +00:00
Przemyslaw Czerpak
eaa5203f84 2010-01-11 16:24 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
+ harbour/contrib/hbnetio/tests/netiot02.prg
    + added yet another example of NETIO client.
      It needs netiosrv executed on the same machine,
      see comments inside this code for details.
2010-01-11 15:25:53 +00:00
Przemyslaw Czerpak
839697c9bc 2010-01-11 14:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbnetio/tests/netiotst.prg
    * added netio_disconnect() to test code

  * harbour/ChangeLog
  * harbour/examples/gtwvw/gtwvw.c
    ! replaced TABs with spaces

  * harbour/contrib/hbnetio/tests/hbmk.hbm
  * harbour/examples/hbdoc/examples/hbmisc/readme.txt
  * harbour/examples/gtwvw/hbgtwvw.h
  * harbour/examples/gtwvw/hbole.h
    ! fixed hardcoded \r\n EOLs

  * harbour/src/vm/strapi.c
  * harbour/src/common/strwild.c
  * harbour/src/nortl/nortl.c
  * harbour/src/nortl/Makefile
  * harbour/src/rtl/hbascii.c
  * harbour/src/rtl/hbsocket.c
  * harbour/src/rtl/hbbffnc.c
  * harbour/src/rtl/hbznet.c
  * harbour/src/rtl/hbbfish.c
  * harbour/src/rtl/hbbyte.c
  * harbour/src/codepage/uc646_yu.c
  * harbour/src/codepage/cphriso.c
  * harbour/src/rdd/dbrename.c
  * harbour/tests/cpinfo.prg
  * harbour/include/hbmsgreg.h
  * harbour/include/hbgtreg.h
  * harbour/include/hbznet.h
  * harbour/include/hbmather.h
  * harbour/include/hbsocket.ch
  * harbour/include/hbtrace.ch
  * harbour/include/hbapistr.h
  * harbour/include/hbiniseg.h
  * harbour/include/hbsocket.h
  * harbour/include/hbbfish.h
  * harbour/include/hbcdpreg.h
  * harbour/include/hbfloat.h
  * harbour/contrib/hbqt/qtgui/QPageSetupDialog.cpp
  * harbour/contrib/hbqt/qtgui/QDragEnterEvent.cpp
  * harbour/contrib/hbqt/qtgui/TQToolBox.prg
  * harbour/contrib/hbqt/qtgui/QGridLayout.cpp
  * harbour/contrib/hbqt/qtgui/TQTreeView.prg
  * harbour/contrib/hbqt/qtgui/TQTextCharFormat.prg
  * harbour/contrib/hbqt/qtgui/QItemSelectionModel.cpp
  * harbour/contrib/hbqt/qtgui/TQTextLine.prg
  * harbour/contrib/hbqt/qtgui/QConicalGradient.cpp
  * harbour/contrib/hbqt/qtgui/QTextLength.cpp
  * harbour/contrib/hbqt/qtgui/TQInputEvent.prg
  * harbour/contrib/hbqt/qtgui/TQWidgetItem.prg
  * harbour/contrib/hbqt/qtgui/TQTextItem.prg
  * harbour/contrib/hbqt/qtgui/QGradient.cpp
  * harbour/contrib/hbqt/qtgui/TQTimeEdit.prg
  * harbour/contrib/hbqt/qtgui/TQDropEvent.prg
  * harbour/contrib/hbqt/qtgui/QStandardItemModel.cpp
  * harbour/contrib/hbqt/qtgui/QItemSelection.cpp
  * harbour/contrib/hbqt/qtgui/TQTextObject.prg
  * harbour/contrib/hbqt/qtgui/TQPainterPath.prg
  * harbour/contrib/hbqt/qtgui/QTransform.cpp
  * harbour/contrib/hbqt/qtgui/QPicture.cpp
  * harbour/contrib/hbqt/qtgui/QAction.cpp
  * harbour/contrib/hbqt/qtgui/QPaintEvent.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleHintReturn.prg
  * harbour/contrib/hbqt/qtgui/QStyledItemDelegate.cpp
  * harbour/contrib/hbqt/qtgui/QWidget.cpp
  * harbour/contrib/hbqt/qtgui/TQProgressBar.prg
  * harbour/contrib/hbqt/qtgui/TQFontDatabase.prg
  * harbour/contrib/hbqt/qtgui/QFontDialog.cpp
  * harbour/contrib/hbqt/qtgui/QToolBox.cpp
  * harbour/contrib/hbqt/qtgui/TQLineEdit.prg
  * harbour/contrib/hbqt/qtgui/TQHBoxLayout.prg
  * harbour/contrib/hbqt/qtgui/QTextListFormat.cpp
  * harbour/contrib/hbqt/qtgui/QMouseEvent.cpp
  * harbour/contrib/hbqt/qtgui/QTextEdit.cpp
  * harbour/contrib/hbqt/qtgui/TQToolBar.prg
  * harbour/contrib/hbqt/qtgui/TQTreeWidget.prg
  * harbour/contrib/hbqt/qtgui/QFontComboBox.cpp
  * harbour/contrib/hbqt/qtgui/TQSplitter.prg
  * harbour/contrib/hbqt/qtgui/QStyle.cpp
  * harbour/contrib/hbqt/qtgui/QStyleOptionHeader.cpp
  * harbour/contrib/hbqt/qtgui/TQComboBox.prg
  * harbour/contrib/hbqt/qtgui/QAbstractTextDocumentLayout.cpp
  * harbour/contrib/hbqt/qtgui/QListView.cpp
  * harbour/contrib/hbqt/qtgui/QWheelEvent.cpp
  * harbour/contrib/hbqt/qtgui/TQAbstractItemDelegate.prg
  * harbour/contrib/hbqt/qtgui/TQSessionManager.prg
  * harbour/contrib/hbqt/qtgui/QRadialGradient.cpp
  * harbour/contrib/hbqt/qtgui/QLayout.cpp
  * harbour/contrib/hbqt/qtgui/QCursor.cpp
  * harbour/contrib/hbqt/qtgui/TQProgressDialog.prg
  * harbour/contrib/hbqt/qtgui/QPainterPath.cpp
  * harbour/contrib/hbqt/qtgui/QLabel.cpp
  * harbour/contrib/hbqt/qtgui/TQBoxLayout.prg
  * harbour/contrib/hbqt/qtgui/TQPolygon.prg
  * harbour/contrib/hbqt/qtgui/QFocusEvent.cpp
  * harbour/contrib/hbqt/qtgui/QBrush.cpp
  * harbour/contrib/hbqt/qtgui/QStyleHintReturn.cpp
  * harbour/contrib/hbqt/qtgui/QStyleOptionToolButton.cpp
  * harbour/contrib/hbqt/qtgui/QStylePainter.cpp
  * harbour/contrib/hbqt/qtgui/TQRadioButton.prg
  * harbour/contrib/hbqt/qtgui/TQSystemTrayIcon.prg
  * harbour/contrib/hbqt/qtgui/QLinearGradient.cpp
  * harbour/contrib/hbqt/qtgui/TQListWidgetItem.prg
  * harbour/contrib/hbqt/qtgui/QProgressBar.cpp
  * harbour/contrib/hbqt/qtgui/TQTextBlock.prg
  * harbour/contrib/hbqt/qtgui/TQTextFrame.prg
  * harbour/contrib/hbqt/qtgui/QDragLeaveEvent.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleOptionViewItem.prg
  * harbour/contrib/hbqt/qtgui/TQInputContext.prg
  * harbour/contrib/hbqt/qtgui/QClipboard.cpp
  * harbour/contrib/hbqt/qtgui/QStyleOptionToolBox.cpp
  * harbour/contrib/hbqt/qtgui/QStyleOptionTabBarBase.cpp
  * harbour/contrib/hbqt/qtgui/QToolBar.cpp
  * harbour/contrib/hbqt/qtgui/TQStatusBar.prg
  * harbour/contrib/hbqt/qtgui/TQTextBlockFormat.prg
  * harbour/contrib/hbqt/qtgui/TQTextFrameFormat.prg
  * harbour/contrib/hbqt/qtgui/QFontMetricsF.cpp
  * harbour/contrib/hbqt/qtgui/TQTabWidget.prg
  * harbour/contrib/hbqt/qtgui/TQLCDNumber.prg
  * harbour/contrib/hbqt/qtgui/TQMainWindow.prg
  * harbour/contrib/hbqt/qtgui/QToolButton.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleOptionTitleBar.prg
  * harbour/contrib/hbqt/qtgui/QWindowsStyle.cpp
  * harbour/contrib/hbqt/qtgui/TQDockWidget.prg
  * harbour/contrib/hbqt/qtgui/QColor.cpp
  * harbour/contrib/hbqt/qtgui/QListWidget.cpp
  * harbour/contrib/hbqt/qtgui/QTextLayout.cpp
  * harbour/contrib/hbqt/qtgui/QTextCursor.cpp
  * harbour/contrib/hbqt/qtgui/TQSound.prg
  * harbour/contrib/hbqt/qtgui/QTextDocument.cpp
  * harbour/contrib/hbqt/qtgui/TQHelpEvent.prg
  * harbour/contrib/hbqt/qtgui/QAbstractProxyModel.cpp
  * harbour/contrib/hbqt/qtgui/QPolygon.cpp
  * harbour/contrib/hbqt/qtgui/TQGradient.prg
  * harbour/contrib/hbqt/qtgui/TQAbstractPrintDialog.prg
  * harbour/contrib/hbqt/qtgui/QRadioButton.cpp
  * harbour/contrib/hbqt/qtgui/TQWizard.prg
  * harbour/contrib/hbqt/qtgui/TQApplication.prg
  * harbour/contrib/hbqt/qtgui/QAbstractButton.cpp
  * harbour/contrib/hbqt/qtgui/TQSyntaxHighlighter.prg
  * harbour/contrib/hbqt/qtgui/QStyleOptionViewItem.cpp
  * harbour/contrib/hbqt/qtgui/QFileIconProvider.cpp
  * harbour/contrib/hbqt/qtgui/TQTextOption.prg
  * harbour/contrib/hbqt/qtgui/QTextFrameFormat.cpp
  * harbour/contrib/hbqt/qtgui/QTextBlockFormat.cpp
  * harbour/contrib/hbqt/qtgui/TQInputDialog.prg
  * harbour/contrib/hbqt/qtgui/TQMovie.prg
  * harbour/contrib/hbqt/qtgui/TQKeySequence.prg
  * harbour/contrib/hbqt/qtgui/QStyleOptionToolBar.cpp
  * harbour/contrib/hbqt/qtgui/QBitmap.cpp
  * harbour/contrib/hbqt/qtgui/QCalendarWidget.cpp
  * harbour/contrib/hbqt/qtgui/TQPrinter.prg
  * harbour/contrib/hbqt/qtgui/QStyleOptionTitleBar.cpp
  * harbour/contrib/hbqt/qtgui/QHeaderView.cpp
  * harbour/contrib/hbqt/qtgui/QScrollBar.cpp
  * harbour/contrib/hbqt/qtgui/TQActionGroup.prg
  * harbour/contrib/hbqt/qtgui/TQTextEdit.prg
  * harbour/contrib/hbqt/qtgui/QStyleOptionButton.cpp
  * harbour/contrib/hbqt/qtgui/TQWizardPage.prg
  * harbour/contrib/hbqt/qtgui/QCommandLinkButton.cpp
  * harbour/contrib/hbqt/qtgui/TQFontComboBox.prg
  * harbour/contrib/hbqt/qtgui/QFocusFrame.cpp
  * harbour/contrib/hbqt/qtgui/QSizePolicy.cpp
  * harbour/contrib/hbqt/qtgui/TQListView.prg
  * harbour/contrib/hbqt/qtgui/TQStyleOptionSizeGrip.prg
  * harbour/contrib/hbqt/qtgui/QAbstractPrintDialog.cpp
  * harbour/contrib/hbqt/qtgui/QApplication.cpp
  * harbour/contrib/hbqt/qtgui/TQTextBlockGroup.prg
  * harbour/contrib/hbqt/qtgui/QAbstractSlider.cpp
  * harbour/contrib/hbqt/qtgui/QTextFragment.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleOptionGroupBox.prg
  * harbour/contrib/hbqt/qtgui/Makefile
  * harbour/contrib/hbqt/qtgui/QAbstractScrollArea.cpp
  * harbour/contrib/hbqt/qtgui/TQPrintEngine.prg
  * harbour/contrib/hbqt/qtgui/TQStylePainter.prg
  * harbour/contrib/hbqt/qtgui/QPlainTextEdit.cpp
  * harbour/contrib/hbqt/qtgui/QInputDialog.cpp
  * harbour/contrib/hbqt/qtgui/QKeySequence.cpp
  * harbour/contrib/hbqt/qtgui/QPrinter.cpp
  * harbour/contrib/hbqt/qtgui/TQMessageBox.prg
  * harbour/contrib/hbqt/qtgui/QKeyEvent.cpp
  * harbour/contrib/hbqt/qtgui/QActionGroup.cpp
  * harbour/contrib/hbqt/qtgui/QTextCharFormat.cpp
  * harbour/contrib/hbqt/qtgui/QStyleOptionSlider.cpp
  * harbour/contrib/hbqt/qtgui/TQFontMetricsF.prg
  * harbour/contrib/hbqt/qtgui/TQDragMoveEvent.prg
  * harbour/contrib/hbqt/qtgui/QInputEvent.cpp
  * harbour/contrib/hbqt/qtgui/QWidgetItem.cpp
  * harbour/contrib/hbqt/qtgui/TQCommonStyle.prg
  * harbour/contrib/hbqt/qtgui/QMenu.cpp
  * harbour/contrib/hbqt/qtgui/TQWindowsStyle.prg
  * harbour/contrib/hbqt/qtgui/TQPushButton.prg
  * harbour/contrib/hbqt/qtgui/QStyleOptionSizeGrip.cpp
  * harbour/contrib/hbqt/qtgui/TQDoubleSpinBox.prg
  * harbour/contrib/hbqt/qtgui/QTextObject.cpp
  * harbour/contrib/hbqt/qtgui/TQTreeWidgetItem.prg
  * harbour/contrib/hbqt/qtgui/TQTableView.prg
  * harbour/contrib/hbqt/qtgui/TQTextDocument.prg
  * harbour/contrib/hbqt/qtgui/QStyleOptionGroupBox.cpp
  * harbour/contrib/hbqt/qtgui/QPrintEngine.cpp
  * harbour/contrib/hbqt/qtgui/QFontInfo.cpp
  * harbour/contrib/hbqt/qtgui/QImage.cpp
  * harbour/contrib/hbqt/qtgui/TQButtonGroup.prg
  * harbour/contrib/hbqt/qtgui/TQFrame.prg
  * harbour/contrib/hbqt/qtgui/TQCompleter.prg
  * harbour/contrib/hbqt/qtgui/QValidator.cpp
  * harbour/contrib/hbqt/qtgui/TQTextFormat.prg
  * harbour/contrib/hbqt/qtgui/QIcon.cpp
  * harbour/contrib/hbqt/qtgui/TQColorDialog.prg
  * harbour/contrib/hbqt/qtgui/TQStyleOptionProgressBar.prg
  * harbour/contrib/hbqt/qtgui/QPolygonF.cpp
  * harbour/contrib/hbqt/qtgui/TQFileIconProvider.prg
  * harbour/contrib/hbqt/qtgui/QHBoxLayout.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleHintReturnVariant.prg
  * harbour/contrib/hbqt/qtgui/QTreeWidget.cpp
  * harbour/contrib/hbqt/qtgui/QCommonStyle.cpp
  * harbour/contrib/hbqt/qtgui/TQTextDocumentWriter.prg
  * harbour/contrib/hbqt/qtgui/TQStyleOptionTab.prg
  * harbour/contrib/hbqt/qtgui/TQStringListModel.prg
  * harbour/contrib/hbqt/qtgui/QAbstractItemView.cpp
  * harbour/contrib/hbqt/qtgui/QSessionManager.cpp
  * harbour/contrib/hbqt/qtgui/TQTextBrowser.prg
  * harbour/contrib/hbqt/qtgui/QProgressDialog.cpp
  * harbour/contrib/hbqt/qtgui/TQTableWidget.prg
  * harbour/contrib/hbqt/qtgui/TQTabBar.prg
  * harbour/contrib/hbqt/qtgui/TQSpacerItem.prg
  * harbour/contrib/hbqt/qtgui/QButtonGroup.cpp
  * harbour/contrib/hbqt/qtgui/QStyleFactory.cpp
  * harbour/contrib/hbqt/qtgui/TQDialog.prg
  * harbour/contrib/hbqt/qtgui/TQFileDialog.prg
  * harbour/contrib/hbqt/qtgui/TQStandardItemModel.prg
  * harbour/contrib/hbqt/qtgui/TQFormLayout.prg
  * harbour/contrib/hbqt/qtgui/QSystemTrayIcon.cpp
  * harbour/contrib/hbqt/qtgui/TQItemSelection.prg
  * harbour/contrib/hbqt/qtgui/QListWidgetItem.cpp
  * harbour/contrib/hbqt/qtgui/QColorDialog.cpp
  * harbour/contrib/hbqt/qtgui/QStyleOptionDockWidget.cpp
  * harbour/contrib/hbqt/qtgui/QStyleOptionTabWidgetFrame.cpp
  * harbour/contrib/hbqt/qtgui/TQFileSystemModel.prg
  * harbour/contrib/hbqt/qtgui/TQAbstractSpinBox.prg
  * harbour/contrib/hbqt/qtgui/TQTextFragment.prg
  * harbour/contrib/hbqt/qtgui/QInputMethodEvent.cpp
  * harbour/contrib/hbqt/qtgui/QDateTimeEdit.cpp
  * harbour/contrib/hbqt/qtgui/TQTransform.prg
  * harbour/contrib/hbqt/qtgui/TQVBoxLayout.prg
  * harbour/contrib/hbqt/qtgui/QStyleOptionFocusRect.cpp
  * harbour/contrib/hbqt/qtgui/QMoveEvent.cpp
  * harbour/contrib/hbqt/qtgui/TQImageWriter.prg
  * harbour/contrib/hbqt/qtgui/QMainWindow.cpp
  * harbour/contrib/hbqt/qtgui/QDesktopWidget.cpp
  * harbour/contrib/hbqt/qtgui/QTableWidgetSelectionRange.cpp
  * harbour/contrib/hbqt/qtgui/QWidgetAction.cpp
  * harbour/contrib/hbqt/qtgui/TQMenuBar.prg
  * harbour/contrib/hbqt/qtgui/QStringListModel.cpp
  * harbour/contrib/hbqt/qtgui/TQKeyEvent.prg
  * harbour/contrib/hbqt/qtgui/QDockWidget.cpp
  * harbour/contrib/hbqt/qtgui/TQPaintDevice.prg
  * harbour/contrib/hbqt/qtgui/TQStyleOptionMenuItem.prg
  * harbour/contrib/hbqt/qtgui/TQFontMetrics.prg
  * harbour/contrib/hbqt/qtgui/QTextBrowser.cpp
  * harbour/contrib/hbqt/qtgui/TQStyle.prg
  * harbour/contrib/hbqt/qtgui/QTableWidget.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleOptionHeader.prg
  * harbour/contrib/hbqt/qtgui/TQMenu.prg
  * harbour/contrib/hbqt/qtgui/TQMatrix.prg
  * harbour/contrib/hbqt/qtgui/QErrorMessage.cpp
  * harbour/contrib/hbqt/qtgui/QWizard.cpp
  * harbour/contrib/hbqt/qtgui/QFileSystemModel.cpp
  * harbour/contrib/hbqt/qtgui/TQPrintDialog.prg
  * harbour/contrib/hbqt/qtgui/QAbstractSpinBox.cpp
  * harbour/contrib/hbqt/qtgui/TQPrintPreviewDialog.prg
  * harbour/contrib/hbqt/qtgui/TQLabel.prg
  * harbour/contrib/hbqt/qtgui/QDial.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleOptionComboBox.prg
  * harbour/contrib/hbqt/qtgui/TQSlider.prg
  * harbour/contrib/hbqt/qtgui/TQFontInfo.prg
  * harbour/contrib/hbqt/qtgui/TQStyleOptionToolButton.prg
  * harbour/contrib/hbqt/qtgui/QTextOption.cpp
  * harbour/contrib/hbqt/qtgui/TQBrush.prg
  * harbour/contrib/hbqt/qtgui/QImageWriter.cpp
  * harbour/contrib/hbqt/qtgui/TQScrollArea.prg
  * harbour/contrib/hbqt/qtgui/TQIcon.prg
  * harbour/contrib/hbqt/qtgui/TQLayoutItem.prg
  * harbour/contrib/hbqt/qtgui/TQPolygonF.prg
  * harbour/contrib/hbqt/qtgui/TQPixmap.prg
  * harbour/contrib/hbqt/qtgui/QMenuBar.cpp
  * harbour/contrib/hbqt/qtgui/TQClipboard.prg
  * harbour/contrib/hbqt/qtgui/TQTextImageFormat.prg
  * harbour/contrib/hbqt/qtgui/TQStyleOptionTabBarBase.prg
  * harbour/contrib/hbqt/qtgui/QPaintDevice.cpp
  * harbour/contrib/hbqt/qtgui/QFontMetrics.cpp
  * harbour/contrib/hbqt/qtgui/QStyleOptionMenuItem.cpp
  * harbour/contrib/hbqt/qtgui/QWizardPage.cpp
  * harbour/contrib/hbqt/qtgui/TQImageReader.prg
  * harbour/contrib/hbqt/qtgui/QDropEvent.cpp
  * harbour/contrib/hbqt/qtgui/TQAbstractItemView.prg
  * harbour/contrib/hbqt/qtgui/TQColor.prg
  * harbour/contrib/hbqt/qtgui/TQStyleOptionComplex.prg
  * harbour/contrib/hbqt/qtgui/QTextBlockGroup.cpp
  * harbour/contrib/hbqt/qtgui/QPrintDialog.cpp
  * harbour/contrib/hbqt/qtgui/TQRegion.prg
  * harbour/contrib/hbqt/qtgui/QStandardItem.cpp
  * harbour/contrib/hbqt/qtgui/QStyleOptionComboBox.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleFactory.prg
  * harbour/contrib/hbqt/qtgui/TQStyleOptionSpinBox.prg
  * harbour/contrib/hbqt/qtgui/TQPalette.prg
  * harbour/contrib/hbqt/qtgui/QSplashScreen.cpp
  * harbour/contrib/hbqt/qtgui/TQDateTimeEdit.prg
  * harbour/contrib/hbqt/qtgui/QSizeGrip.cpp
  * harbour/contrib/hbqt/qtgui/TQInputMethodEvent.prg
  * harbour/contrib/hbqt/qtgui/TQPainter.prg
  * harbour/contrib/hbqt/qtgui/QMessageBox.cpp
  * harbour/contrib/hbqt/qtgui/TQResizeEvent.prg
  * harbour/contrib/hbqt/qtgui/TQTextTableFormat.prg
  * harbour/contrib/hbqt/qtgui/QTextImageFormat.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleOptionFocusRect.prg
  * harbour/contrib/hbqt/qtgui/QGroupBox.cpp
  * harbour/contrib/hbqt/qtgui/QImageReader.cpp
  * harbour/contrib/hbqt/qtgui/TQDragEnterEvent.prg
  * harbour/contrib/hbqt/qtgui/QTextDocumentFragment.cpp
  * harbour/contrib/hbqt/qtgui/QPushButton.cpp
  * harbour/contrib/hbqt/qtgui/TQWidgetAction.prg
  * harbour/contrib/hbqt/qtgui/TQGridLayout.prg
  * harbour/contrib/hbqt/qtgui/TQScrollBar.prg
  * harbour/contrib/hbqt/qtgui/TQItemSelectionModel.prg
  * harbour/contrib/hbqt/qtgui/TQStyleOptionButton.prg
  * harbour/contrib/hbqt/qtgui/TQTextLength.prg
  * harbour/contrib/hbqt/qtgui/TQCommandLinkButton.prg
  * harbour/contrib/hbqt/qtgui/QTreeWidgetItem.cpp
  * harbour/contrib/hbqt/qtgui/QBoxLayout.cpp
  * harbour/contrib/hbqt/qtgui/TQErrorMessage.prg
  * harbour/contrib/hbqt/qtgui/QTextFormat.cpp
  * harbour/contrib/hbqt/qtgui/QPalette.cpp
  * harbour/contrib/hbqt/qtgui/QTextFrame.cpp
  * harbour/contrib/hbqt/qtgui/QTextBlock.cpp
  * harbour/contrib/hbqt/qtgui/QPainter.cpp
  * harbour/contrib/hbqt/qtgui/TQDial.prg
  * harbour/contrib/hbqt/qtgui/QStyleOptionProgressBar.cpp
  * harbour/contrib/hbqt/qtgui/QResizeEvent.cpp
  * harbour/contrib/hbqt/qtgui/TQTableWidgetItem.prg
  * harbour/contrib/hbqt/qtgui/QTextTableFormat.cpp
  * harbour/contrib/hbqt/qtgui/TQAction.prg
  * harbour/contrib/hbqt/qtgui/TQPaintEvent.prg
  * harbour/contrib/hbqt/qtgui/QStyleHintReturnVariant.cpp
  * harbour/contrib/hbqt/qtgui/QStatusBar.cpp
  * harbour/contrib/hbqt/qtgui/TQStyledItemDelegate.prg
  * harbour/contrib/hbqt/qtgui/TQPlainTextEdit.prg
  * harbour/contrib/hbqt/qtgui/QTextInlineObject.cpp
  * harbour/contrib/hbqt/qtgui/QTabWidget.cpp
  * harbour/contrib/hbqt/qtgui/QContextMenuEvent.cpp
  * harbour/contrib/hbqt/qtgui/QLCDNumber.cpp
  * harbour/contrib/hbqt/qtgui/TQWidget.prg
  * harbour/contrib/hbqt/qtgui/TQFontDialog.prg
  * harbour/contrib/hbqt/qtgui/QTextDocumentWriter.cpp
  * harbour/contrib/hbqt/qtgui/QStyleOptionTab.cpp
  * harbour/contrib/hbqt/qtgui/QDateEdit.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleOption.prg
  * harbour/contrib/hbqt/qtgui/TQTextListFormat.prg
  * harbour/contrib/hbqt/qtgui/TQMouseEvent.prg
  * harbour/contrib/hbqt/qtgui/QCheckBox.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleOptionSlider.prg
  * harbour/contrib/hbqt/qtgui/QSound.cpp
  * harbour/contrib/hbqt/qtgui/QHelpEvent.cpp
  * harbour/contrib/hbqt/qtgui/QTabBar.cpp
  * harbour/contrib/hbqt/qtgui/QSpacerItem.cpp
  * harbour/contrib/hbqt/qtgui/TQAbstractTextDocumentLayout.prg
  * harbour/contrib/hbqt/qtgui/QFileDialog.cpp
  * harbour/contrib/hbqt/qtgui/QDirModel.cpp
  * harbour/contrib/hbqt/qtgui/QDialog.cpp
  * harbour/contrib/hbqt/qtgui/TQWheelEvent.prg
  * harbour/contrib/hbqt/qtgui/QFormLayout.cpp
  * harbour/contrib/hbqt/qtgui/QStyleOptionFrame.cpp
  * harbour/contrib/hbqt/qtgui/TQRadialGradient.prg
  * harbour/contrib/hbqt/qtgui/QSyntaxHighlighter.cpp
  * harbour/contrib/hbqt/qtgui/QFont.cpp
  * harbour/contrib/hbqt/qtgui/TQCursor.prg
  * harbour/contrib/hbqt/qtgui/TQLayout.prg
  * harbour/contrib/hbqt/qtgui/TQStandardItem.prg
  * harbour/contrib/hbqt/qtgui/QTableWidgetItem.cpp
  * harbour/contrib/hbqt/qtgui/TQFocusEvent.prg
  * harbour/contrib/hbqt/qtgui/QVBoxLayout.cpp
  * harbour/contrib/hbqt/qtgui/TQImage.prg
  * harbour/contrib/hbqt/qtgui/TQSpinBox.prg
  * harbour/contrib/hbqt/qtgui/QMovie.cpp
  * harbour/contrib/hbqt/qtgui/TQValidator.prg
  * harbour/contrib/hbqt/qtgui/TQLinearGradient.prg
  * harbour/contrib/hbqt/qtgui/TQSplashScreen.prg
  * harbour/contrib/hbqt/qtgui/TQDragLeaveEvent.prg
  * harbour/contrib/hbqt/qtgui/TQSizeGrip.prg
  * harbour/contrib/hbqt/qtgui/QStyleOption.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleHintReturnMask.prg
  * harbour/contrib/hbqt/qtgui/QTreeView.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleOptionToolBox.prg
  * harbour/contrib/hbqt/qtgui/QTextLine.cpp
  * harbour/contrib/hbqt/qtgui/TQGroupBox.prg
  * harbour/contrib/hbqt/qtgui/TQTextDocumentFragment.prg
  * harbour/contrib/hbqt/qtgui/QTextItem.cpp
  * harbour/contrib/hbqt/qtgui/TQToolButton.prg
  * harbour/contrib/hbqt/qtgui/QTimeEdit.cpp
  * harbour/contrib/hbqt/qtgui/QMatrix.cpp
  * harbour/contrib/hbqt/qtgui/TQListWidget.prg
  * harbour/contrib/hbqt/qtgui/TQPen.prg
  * harbour/contrib/hbqt/qtgui/TQTextCursor.prg
  * harbour/contrib/hbqt/qtgui/TQTextLayout.prg
  * harbour/contrib/hbqt/qtgui/QPrintPreviewDialog.cpp
  * harbour/contrib/hbqt/qtgui/TQAbstractProxyModel.prg
  * harbour/contrib/hbqt/qtgui/QSlider.cpp
  * harbour/contrib/hbqt/qtgui/QSpinBox.cpp
  * harbour/contrib/hbqt/qtgui/QScrollArea.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleOptionDockWidget.prg
  * harbour/contrib/hbqt/qtgui/TQAbstractButton.prg
  * harbour/contrib/hbqt/qtgui/TQStyleOptionTabWidgetFrame.prg
  * harbour/contrib/hbqt/qtgui/QFontDatabase.cpp
  * harbour/contrib/hbqt/qtgui/QLayoutItem.cpp
  * harbour/contrib/hbqt/qtgui/QLineEdit.cpp
  * harbour/contrib/hbqt/qtgui/QPixmap.cpp
  * harbour/contrib/hbqt/qtgui/QStyleHintReturnMask.cpp
  * harbour/contrib/hbqt/qtgui/TQMoveEvent.prg
  * harbour/contrib/hbqt/qtgui/TQTextInlineObject.prg
  * harbour/contrib/hbqt/qtgui/TQContextMenuEvent.prg
  * harbour/contrib/hbqt/qtgui/TQBitmap.prg
  * harbour/contrib/hbqt/qtgui/QDragMoveEvent.cpp
  * harbour/contrib/hbqt/qtgui/QSplitter.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleOptionToolBar.prg
  * harbour/contrib/hbqt/qtgui/TQDesktopWidget.prg
  * harbour/contrib/hbqt/qtgui/TQCalendarWidget.prg
  * harbour/contrib/hbqt/qtgui/TQPageSetupDialog.prg
  * harbour/contrib/hbqt/qtgui/QComboBox.cpp
  * harbour/contrib/hbqt/qtgui/TQTableWidgetSelectionRange.prg
  * harbour/contrib/hbqt/qtgui/TQDateEdit.prg
  * harbour/contrib/hbqt/qtgui/QDoubleSpinBox.cpp
  * harbour/contrib/hbqt/qtgui/QAbstractItemDelegate.cpp
  * harbour/contrib/hbqt/qtgui/TQHeaderView.prg
  * harbour/contrib/hbqt/qtgui/TQConicalGradient.prg
  * harbour/contrib/hbqt/qtgui/TQCheckBox.prg
  * harbour/contrib/hbqt/qtgui/QStyleOptionComplex.cpp
  * harbour/contrib/hbqt/qtgui/QTableView.cpp
  * harbour/contrib/hbqt/qtgui/QPen.cpp
  * harbour/contrib/hbqt/qtgui/QRegion.cpp
  * harbour/contrib/hbqt/qtgui/TQFocusFrame.prg
  * harbour/contrib/hbqt/qtgui/TQSizePolicy.prg
  * harbour/contrib/hbqt/qtgui/TQDirModel.prg
  * harbour/contrib/hbqt/qtgui/QFrame.cpp
  * harbour/contrib/hbqt/qtgui/QCompleter.cpp
  * harbour/contrib/hbqt/qtgui/QStyleOptionSpinBox.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleOptionFrame.prg
  * harbour/contrib/hbqt/qtgui/TQFont.prg
  * harbour/contrib/hbqt/qtgui/TQAbstractSlider.prg
  * harbour/contrib/hbqt/qtgui/QInputContext.cpp
  * harbour/contrib/hbqt/qtgui/TQAbstractScrollArea.prg
  * harbour/contrib/hbqt/qtgui/TQPicture.prg
  * harbour/contrib/hbqt/qtcore/TQSettings.prg
  * harbour/contrib/hbqt/qtcore/QSettings.cpp
  * harbour/contrib/hbqt/qtcore/TQUiLoader.prg
  * harbour/contrib/hbqt/qtcore/QUiLoader.cpp
  * harbour/contrib/hbqt/hbqt_errorsys.prg
  * harbour/contrib/hbqt/hbqt_destruct.cpp
  * harbour/contrib/hbqt/qtnetwork/QHttp.cpp
  * harbour/contrib/hbqt/qtnetwork/TQHttpHeader.prg
  * harbour/contrib/hbqt/qtnetwork/TQFtp.prg
  * harbour/contrib/hbqt/qtnetwork/QHttpHeader.cpp
  * harbour/contrib/hbqt/qtnetwork/QFtp.cpp
  * harbour/contrib/hbqt/qtnetwork/TQHttpRequestHeader.prg
  * harbour/contrib/hbqt/qtnetwork/TQNetworkRequest.prg
  * harbour/contrib/hbqt/qtnetwork/TQHttpResponseHeader.prg
  * harbour/contrib/hbqt/qtnetwork/QHttpRequestHeader.cpp
  * harbour/contrib/hbqt/qtnetwork/QNetworkRequest.cpp
  * harbour/contrib/hbqt/qtnetwork/QHttpResponseHeader.cpp
  * harbour/contrib/hbqt/qtnetwork/TQHttp.prg
  * harbour/contrib/hbqt/qtnetwork/Makefile
  * harbour/contrib/hbqt/hbqt_misc.prg
  * harbour/contrib/hbxbp/xbppresspace.prg
  * harbour/contrib/hbxbp/xbprtf.prg
  * harbour/contrib/hbxbp/xbpbrowse.prg
  * harbour/contrib/hbxbp/xbpprintdialog.prg
  * harbour/contrib/hbxbp/xbpdev.ch
  * harbour/contrib/hbxbp/xbpprinter.prg
  * harbour/contrib/hbxbp/xbpqtuiloader.prg
  * harbour/contrib/hbnetio/netio.h
  * harbour/contrib/hbnetio/netiomt.prg
  * harbour/contrib/hbnetio/netiocli.c
  * harbour/contrib/hbnetio/netiosrv.c
  * harbour/contrib/hbnetio/Makefile
  * harbour/contrib/hbide/ideobject.prg
  * harbour/contrib/hbide/hbide.hbp
  * harbour/contrib/hbide/iderequests.prg
  * harbour/contrib/hbide/idestylesheets.prg
  * harbour/contrib/hbide/idefindreplace.prg
  * harbour/contrib/hbide/idethemes.prg
  * harbour/contrib/hbide/ideeditor.prg
  * harbour/contrib/hbide/hbide.prg
  * harbour/contrib/hbide/idemisc.prg
  * harbour/contrib/hbide/hbide.ch
  * harbour/contrib/hbide/idetags.prg
  * harbour/contrib/hbide/idesaveload.prg
  * harbour/contrib/hbide/ideactions.prg
  * harbour/contrib/hbide/idedocks.prg
  * harbour/contrib/hbide/ideparseexpr.c
  * harbour/contrib/hbide/ideprojmanager.prg
    * set svn:keywords attribute to "Author Date Id Revision"
2010-01-11 13:44:04 +00:00
Przemyslaw Czerpak
af90ba9a0c 2010-01-11 12:21 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbznet.c
    * move hb_znetOpen() parameter validation from HB_INETCOMPRESS()
      to hb_znetOpen() - it should help keeping other code using
      hb_znetOpen() more simple

  * harbour/contrib/hbnetio/netio.h
  * harbour/contrib/hbnetio/netiocli.c
  * harbour/contrib/hbnetio/netiosrv.c
    + added support for compression and encryption in NETIO connection
      streams. Enabling encryption (password) automatically enable also
      compression. If necessary user can set compression level to
      HB_ZLIB_COMPRESSION_NONE. HB_ZLIB_COMPRESSION_DISABLE used as
      compression level removes compression and encryption.
      See below for details of NETIO server and client code modifications.

  * harbour/contrib/hbnetio/netiocli.c
    + extended NETIO_CONNECT() client side function parameters:
         NETIO_CONNECT( [<cServer>], [<cPort>], [<nTimeOut>], ;
                        [<cPasswd>], [<nCompressionLevel>], [<nStrategy>] )
            -> <lOK>
    % changed the behavior of NETIO_CONNECT() client side function.
      In the previous version this function was connecting to the server
      and then disconnecting so it was used to check if connection is
      available and to set default connection parameters.
      Now it does not disconnect after successful connection so created
      connection is keept and can be reused by any pending NETIO_*() calls.
      User can open many different connections in the same time.
      The connections are recognized by server and port address.
      The connections set by NETIO_CONNECT() function can be closed by
      NETIO_DISCONNECT() function.
      Each repeated call to NETIO_CONNECT() increase reference counter
      in the connection stream and need corresponding number of
      NETIO_DISCONNECT() calls.
    + added new PRG client side function:
         NETIO_DISCONNECT( [<cServer>], [<cPort>] ) -> <lOK>
      which closes connections set by NETIO_CONNECT().
    + added support for passing connection password as part of file path
      or function name in format:
         <server>[:<port>[:<passwd>]]:<filepath|funcname>
      i.e.:
         192.168.0.1:2941:secret:path/to/file
      Please remember that it's only an alternative method of setting
      encryption which does not allow to use CHR(0) or ":" in passwords.
      User can always set connection using NETIO_CONNECT() function which
      will be used in RPC or FILE IO calls. If more then one connection
      is set by NETIO_CONNECT() then user can chose the connection using
      only server and port. It's not necessary to pass other connection
      parameters.
    + added support for UNC paths:
         //<server>[:<port>]/<filepath|funcname>
      i.e.:
         //192.168.0.1:2941/path/to/file
      backslashes (\\) are also supported.

  * harbour/contrib/hbnetio/netiosrv.c
    % moved 1-st login identification from NETIO_ACCEPT() to NETIO_SERVER()
      Such version do not block other connection accepting when server
      waits for NETIO_LOGIN frame so it improve scalability and also
      protect against code which may want to block access to the server
      by opening dummy connections.
    + added new parameters to NETIO_ACCEPT() function which allows to set
      encryption and compression for new connections:
         NETIO_ACCEPT( <pListenSocket>, [<nTimeOut>],
                       [<cPass>], [<nCompressionLevel>], [<nStrategy>] )
            -> <pConnectionSocket> | NIL
    + added new server side function:
         NETIO_COMPRESS( <pConnectionSocket>,
                         [<cPass>], [<nCompressionLevel>], [<nStrategy>] )
            -> NIL
      which allow to set or change encryption and compression parameters
      in existing connections

  * harbour/contrib/hbnetio/netiomt.prg
    * updated to accept new connection parameters in NETIO_MTSERVER()
      function:
         NETIO_MTSERVER( [<nPort>], [<cIfAddr>], [<cRootDir>], [<lRPC>],
                         [<cPasswd>], [<nCompressionLevel>], [<nStrategy>] )
            -> <pListenSocket>

  * harbour/contrib/hbnetio/utils/netiosrv.prg
    + added 5-th parameter <passwd> which enable encryption with compression,
      current syntx is:
         netiosrv [<port>] [<inetaddr>] [<rootdir>] [<rpc>] [<passwd>]
      For default values use "" in command line for skipped parameters, i.e.:
         netiosrv "" "" "" 1 topsecret

  * harbour/contrib/hbnetio/tests/netiotst.prg
    * enable RPC, compression and encryption in test code
    + added simple code which use RPC to create directory on the server side


   Now it's possible to easy create secure NETIO connections and compression
   should help in slow connections when big number of data has to be
   exchange. In RDD file access it mostly help when tables use long records.

   Hope you will find it useful. Please make tests.
2010-01-11 11:22:05 +00:00