Commit Graph

2582 Commits

Author SHA1 Message Date
Viktor Szakats
d4d9a5f4e5 2010-06-19 16:24 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    + Adjusted HB_SIZE_MAX value for Win64 after recent changes.

  * src/vm/hashfunc.c
  * src/vm/hvm.c
  * src/debug/dbgentry.c
  * src/common/hbwin.c
  * src/common/hbfsapi.c
  * src/common/hbstr.c
  * src/rtl/lennum.c
  * src/rtl/hbzlibgz.c
  * src/rtl/hbtoken.c
  * src/rtl/hbmd5.c
  * src/rtl/hbregex.c
  * src/rtl/hbzlib.c
  * src/rtl/gtpca/gtpca.c
  * contrib/hbct/screen2.c
  * contrib/hbct/token2.c
  * contrib/hbct/charsprd.c
  * contrib/hbct/charlist.c
  * contrib/hbct/charsort.c
  * contrib/hbct/maxline.c
  * contrib/hbct/wordrepl.c
  * contrib/hbct/charrepl.c
  * contrib/hbct/charswap.c
  * contrib/hbct/pos1.c
  * contrib/hbct/token1.c
  * contrib/hbct/charmirr.c
  * contrib/hbct/relation.c
  * contrib/hbct/atnum.c
  * contrib/hbct/count.c
  * contrib/hbct/ctstrfil.c
  * contrib/hbct/posdiff.c
  * contrib/hbct/addascii.c
  * contrib/hbct/pos2.c
  * contrib/hbct/numat.c
  * contrib/hbct/atrepl.c
  * contrib/hbct/print.c
  * contrib/xhb/txtline.c
  * contrib/hbgt/strright.c
  * contrib/hbgt/chrtotal.c
  * contrib/hbgt/strcount.c
  * contrib/hbgt/ascposgt.c
  * contrib/hbgt/strleft.c
  * contrib/hbgt/chrcount.c
  * contrib/hbgt/strcspn.c
  * contrib/hbgt/atdiff.c
  * contrib/hbbz2/hbbz2.c
  * contrib/hbmemio/memio.c
  * contrib/hbclipsm/num.c
  * contrib/hbclipsm/date.c
  * contrib/hbmisc/stringsx.c
  * contrib/hbmisc/spd.c
    + Using new size API.
      NOTE: This will be a longer process as there many current variations
            to pass sizes (*nint(), *ni(), *nl()) and there is no warning
            issued in several of these.
            Please also note that not all updates files became fully clean.
            I will post a list of remaining warnings.
    + Type cleanup:
        int -> HB_ISIZ
    + Added casts at component boundaries.
    % Deleted unnecessary '( HB_SIZE )' casts.
    + ULONG_MAX -> HB_SIZE_MAX
    * 'hb_retl( 0 )' -> 'hb_retl( HB_FALSE )'
    * 'hb_retl( 1 )' -> 'hb_retl( HB_TRUE )'
    ! CSETSAFETY() fixed to return and accept logical parameters
      instead of returning numeric, checking for logical but retrieving
      numeric.

  * src/common/hbwin.c
    * DWORD -> int to be in sync with Windows API declarations.

  ; NOTE: I left out RDDs and VM from the areas I scanned, please
          modify them. F.e. we will need a hb_vmPushSize().

  ; Peer review (by as much eyeballs as possible) is appreciated.
2010-06-19 14:26:56 +00:00
Viktor Szakats
0c2f806800 2010-06-19 14:12 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/itemapi.c
  * src/vm/arrays.c
  * src/vm/extend.c
  * include/hbapi.h
  * include/hbapiitm.h
    * Changed new size API calls to use HB_ISIZ instead of HB_SIZE.
      This is required until we switch HB_SIZE to be signed value,
      and to not step backwards plus keep signedness compatibility
      with 'long' API calls.

  * contrib/xhb/xhbhasha.c
  * contrib/hbcurl/hbcurl.c
    + Using size API.

  * contrib/xhb/xhbhasha.c
    ! HAAGETREALPOS(): Fixed return value to be numeric.
2010-06-19 12:15:22 +00:00
Viktor Szakats
f798129d72 2010-06-19 13:41 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapi.h
  * include/hbapiitm.h
  * src/vm/itemapi.c
  * src/vm/arrays.c
  * src/vm/extend.c
    + Added hb_storvns().
    + Added hb_parvns().
    ; TOFIX: hb_itemPutNS() gives these (not quite unexpected) mingw warnings:
             ---
             itemapi.c:993:8: warning: comparison between signed and unsigned integer expressions
             itemapi.c:998:38: warning: comparison between signed and unsigned integer expressions
             itemapi.c:1004:35: warning: comparison between signed and unsigned integer expressions
             itemapi.c:1004:7: warning: comparison is always false due to limited range of data type
             ---

  * src/rtl/philes.c
  * src/rtl/mlcfunc.c
  * src/rtl/rat.c
    + Using size APIs.
    % Also deleting '( HB_SIZE )' casts along the way.

  * src/rtl/oemansi.c
    ! Cast to make Win64 happy. Quite interesting that almost no
      Windows API don't support proper 64-bit strings, so here
      Windows will be the limitation, not Harbour.
2010-06-19 11:49:23 +00:00
Viktor Szakats
8866af5c97 2010-06-19 13:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/arrayshb.c
  * src/rtl/replic.c
  * src/rtl/padr.c
  * src/rtl/padc.c
  * src/rtl/len.c
  * src/rtl/padl.c
  * src/rtl/right.c
  * src/rtl/left.c
  * src/rtl/space.c
  * contrib/xhb/xhbat.c
  * contrib/xhb/xhbarr.c
    + Started to use size APIs. Quite random, just to test the
      feeling. Converted functions can properly handle > 4GB
      strings and no. of array elements in .prg code.
      (on Win64)

  * include/hbapiitm.h
    ! Missed to do the renaming in declaration.
2010-06-19 11:18:10 +00:00
Viktor Szakats
73eae980a9 2010-06-19 12:52 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/itemapi.c
  * src/vm/arrays.c
  * include/hbapi.h
    * Renamed hb_arrayGetNSize(), hb_arraySetNSize(),
      hb_itemGetNSize(), hb_itemPutNSize() functions to
      hb_arrayGetNS(), hb_arraySetNS(),
      hb_itemGetNS(), hb_itemPutNS().

  * src/rtl/at.c
  * src/rtl/ati.c
  * contrib/xhb/xhbat.c
    * Started to use hb_*ns() instead of hb_*nl() for size values.
2010-06-19 10:53:28 +00:00
Viktor Szakats
aed2388134 2010-06-19 12:46 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/extend.c
  * include/hbapi.h
    * hb_*nsize() functions renamed to hb_*ns():
        hb_parns(), hb_retns(), hb_storns()
    + Added hb_parnsdef().
2010-06-19 10:46:53 +00:00
Viktor Szakats
ec13203192 2010-06-19 12:23 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/itemapi.c
    - hb_itemGetNL() no longer works for date types.
      INCOMPATIBLE. If you used it to retrieve date/time,
      use hb_itemGetDL() instead.
    ! Fixed typo in prev addition.

  * include/hbapi.h
  * src/vm/arrays.c
    + Added hb_arrayGetNSize(), hb_arraySetNSize().
    ! Fixed old typo in TRACE() call of hb_arrayGetNInt().

  * src/vm/extend.c
    ! Fixed typo in prev addition.

  * src/rtl/filesys.c
    ! Applied fixed from Przemek to hb_fsReadAt()/hb_fsWriteAt()
      code to be MT safe plus fix other problems.
    ; QUESTION: Shouls the same applied to hb_fsWriteLarge()/hb_fsReadLarge() 
                loops? (BTW inactive in 32-bit Harbour builds)

  * contrib/hbct/screen2.c
    ! Type cleanup.

  * contrib/hbct/pack.c
  * contrib/xhb/hbxml.c
  * contrib/xhb/hbxml.h
  * contrib/hbgt/charmixg.c
  * contrib/hbgt/charodd.c
  * contrib/hbgt/strexpan.c
  * contrib/hbgt/asciisgt.c
  * contrib/hbgt/strright.c
  * contrib/hbgt/strasint.c
  * contrib/hbgt/strdiffg.c
  * contrib/hbgt/chrtotal.c
  * contrib/hbgt/strcount.c
  * contrib/hbgt/strleft.c
  * contrib/hbgt/chrfirst.c
  * contrib/hbgt/chrcount.c
  * contrib/hbgt/strpbrk.c
  * contrib/hbgt/chareven.c
  * contrib/hbgt/bitflags.c
  * contrib/hbgt/strcspn.c
  * contrib/hbgt/atdiff.c
  * contrib/hbnf/proper.c
  * contrib/hbnf/getenvrn.c
    ! Fixed to use Harbour size types.

  * contrib/hbnf/dispc.c
    ! Started using Harbour type, but this is code is
      deadly and needs further work. I still wonder how
      to create code which mixes properly HB_FOFFSET and
      HB_SIZE.

  * contrib/xhb/cstructc.c
    * Formatting.
2010-06-19 10:26:02 +00:00
Viktor Szakats
23dd5b134d 2010-06-19 09:52 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/runner.c
    ! Minor to prev.

  * include/hbapi.h
  * src/vm/extend.c
    + Added hb_parnsize(), hb_retnsize(), hb_stornsize() functions.
    ; NOTE: These should be used in place of hb_parnl(), hb_retnl(),
            hb_stornl() when passing HB_SIZE types.
    ; TODO: Use them all accross Harbour if they are correct and
            after being finalized.

  * src/vm/itemapi.c
    + Added hb_itemGetNSize(), hb_itemPutNSize() functions.
    * DATETIME stuff in hb_itemGetNL() marked as HB_LEGACY_LEVEL3.
    ; QUESTION: It's marked as to be deleted in the TODO, so maybe we should
                rather delete it.

  * include/hbapiitm.h
  * src/rtl/filesys.c
    + hb_fsReadAt(), hb_fsWriteAt(): Added support for Win64 HB_SIZE.
    ; QUESTION: I assume these functions have the purpose of being
                atomic seek + read without moving the file pointer,
                which means current modification isn't safe. How
                can this be solved given Windows doesn't seem to have
                64-bit read/write API calls?
    ! Fixed old copy-paste typos in Windows OVERLAPPED initialization,
      where the lines were ended with command instead of semicolon,
      they didn't cause any harm though in their former location.
    % Reverted a minor change from prev commit to make it
      possibly a little bit faster, like it was before.

  * src/rtl/hbzlib.c
    + Added casts (at external interface calls) and other fixes to
      make it build for Win64 without warnings.

  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/dbffpt/dbffpt1.c
  * contrib/rddbmcdx/bmdbfcdx.c
    * HB_ULONG -> HB_SIZE where appropriate to avoid Win64 errors
      and some warnings. I'm still not comfortable to touch this
      code, but it could certainly need a type cleanup.

  * include/hbdefs.h
    + Added HB_PFS macro which holds the printf() format string
      for HB_SIZE value.
    ; TODO: Use it all accross Harbour.

  * contrib/hbmysql/mysql.c
  * contrib/sddmy/sddmy.c
  * contrib/hbmzip/hbmzip.c
  * contrib/hbcurl/hbcurl.c
  * contrib/hbhpdf/harupdf.c
  * contrib/hbpgsql/postgres.c
  * contrib/rddads/adsfunc.c
  * contrib/rddads/ads1.c
  * contrib/hbfimage/fi_wrp.c
  * contrib/sddodbc/sddodbc.c
  * contrib/hbgd/gdwrp.c
  * contrib/hbwin/wapi_wingdi.c
  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/wapi_winuser.c
  * contrib/hbwin/win_bmp.c
  * contrib/hbwin/win_prn1.c
  * contrib/hbwin/win_regc.c
  * contrib/hbssl/evpciph.c
  * contrib/hbssl/ssl.c
  * contrib/hbssl/bio.c
  * contrib/hbssl/sslctx.c
  * contrib/hbssl/evpenc.c
  * contrib/hbssl/pem.c
  * contrib/hbssl/rand.c
  * contrib/hbssl/evp.c
    + Added necessary casts at external component boundaries to
      make Win64 builds warning-free.

  * contrib/hbct/ctstrfil.c
    + HB_ISIZ -> HB_FOFFSET, hb_fsSeek() usage, other type cleanup
      to handle file offsets correctly.

  * contrib/xhb/hbnxs.h
  * contrib/xhb/hbcrypt.c
    ! Fixed warnings for Win64.

  * contrib/hbwin/win_prn3.c
  * contrib/xhb/dbf2txt.c
  * contrib/xhb/fparse.c
    * int -> HB_ISIZ for Win64.

  * contrib/xhb/freadlin.c
    * hb_fsSeek() -> hb_fsSeekLarge().

  * contrib/sddfb/sddfb.c
    * Minor type cleanup to make Win64 warning-free.

  * contrib/hbsqlit3/hbsqlit3.c
    + Added necessary casts at external interface calls.
    % Deleted one dummy operation from SQLITE3_FILE_TO_BUFF().

  * contrib/rddsql/sqlmix.c
  * contrib/rddads/adsx.c
    * HB_ULONG -> HB_SIZE.

  * contrib/gtwvg/gtwvg.c
  * contrib/gtwvg/wvggui.c
  * contrib/gtwvg/wvgcuig.c
  * contrib/gtwvg/wvgwin.c
  * contrib/gtwvg/wvgutils.c
  * contrib/gtwvg/wvgcore.c
    ! int -> HB_ISIZ/HB_SIZE
    + Added necessary casts at external component boundaries to
      make Win64 warning-free.

  * contrib/rddads/ads1.c
    * HB_ULONG -> HB_SIZE

  * contrib/hbtip/utils.c
    * int -> HB_ISIZ
    ! Fixed to use HB_FOFFSET type to save/restore file position.

  * ChangeLog
    + Added missing item to previous log entry:
      ! Fixed hb_fsCurDirBuff() for Win64.

  ; It's quite large commit, nevertheless I'd highly appreciate
    peer review, and certainly there will be places which need
    better or different solution for Win64.
2010-06-19 08:05:24 +00:00
Viktor Szakats
98d0b811d1 2010-06-18 16:12 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/filesys.c
  * include/hbapifs.h
    + Added support for 64-bit HB_SIZE to hb_fsWriteLarge(), 
      hb_fsReadLarge().
    * Some HB_SIZE variables renamed to have 'n' prefix.
    * Minor cleanups in code layout in hb_fsWriteLarge(), 
      hb_fsReadLarge().
    ; Please review, I didn't make any real tests. Most code 
      was copied and adapted from similar code existing for 
      16-bit systems to support 32-bit HB_SIZE.

  * src/vm/runner.c
    % Adjusted scope of recently added variable.

  * ChangeLog
    ! Fixed HB_COMPILER_VER values for MSVC for pre < 1000 versions
      (requires zero prefix to work right) in:
      2010-06-06 00:50 UTC+0200 Viktor Szakats
2010-06-18 14:12:32 +00:00
Viktor Szakats
edbc9a4ef7 2010-06-18 15:04 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/runner.c
  * include/hbcompdf.h
    ! Fixed two more HB_SIZE != HB_ULONG build issues.
2010-06-18 13:05:20 +00:00
Viktor Szakats
38c91a1eee 2010-06-18 13:41 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/filesys.c
  * include/hbapifs.h
    ! hb_fsLock()/hb_fsSeek() to use HB_ULONG/HB_LONG, instead of
      HB_SIZE/HB_ISIZ.
    * Cleaned some casting in hb_fsLock(). Please check me.
2010-06-18 11:43:07 +00:00
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
06e2c4617e 2010-06-18 10:58 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    + HB_SIZE/HB_ISIZ set to 64-bit value on Win64 targets.
      This change should finally fix the many casting errors appearing 
      in Win64 builds of Harbour, plus it enables to use proper 64-bit 
      sizes for strings and arrays.
    ; TODO: Test and fix and places where this may cause a problem.
            Delete all now unnecessary casting from size_t to HB_SIZE.
            (f.e. '( HB_SIZE ) strlen(')
2010-06-18 08:59:21 +00:00
Viktor Szakats
d1af4bdc11 2010-06-18 10:50 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    + Rearranged types to first define base Harbour types, then
      abstract Harbour types and then legacy types. This removes
      some redundancy and contains all legacy handling in one
      common block. It also fixes 16-bit legacy types not being
      defined in some cases.
    + Changed so that legacy type are referring to Harbour types
      instead of replicating them using native C types.
2010-06-18 08:50:55 +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
Przemyslaw Czerpak
73a06f6c8f 2010-06-15 12:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbdefs.h
  * harbour/include/hbvmpub.h
  * harbour/src/common/expropt1.c
  * harbour/src/common/expropt2.c
  * harbour/src/common/hbstr.c
  * harbour/src/compiler/gencc.c
  * harbour/src/vm/hvm.c
  * harbour/src/vm/itemapi.c
  * harbour/src/vm/task.c
  * harbour/src/rtl/abs.c
  * harbour/src/rtl/hbdyn.c
  * harbour/src/rdd/dbsql.c
  * harbour/contrib/hbwin/olecore.c
  * harbour/contrib/sddoci/sddoci.c
  * harbour/contrib/sddsqlt3/sddsqlt3.c
    * renamed HB_LONG_{MIN,MAX} to HB_VMLONG_{MIN,MAX} and
      HB_INT_{MIN,MAX} to HB_VMINT_{MIN,MAX} to not confuse users
      after renaming HB_LONG to HB_MAXINT and LONG to HB_LONG.
      They could expect that HB_LONG_{MIN,MAX} are for HB_LONG type.
2010-06-15 10:00:45 +00:00
Przemyslaw Czerpak
73c06c043a 2010-06-15 00:59 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/idle.c
    ! fixed to call hb_idleState() for hb_idleSleep( 0 )

  * harbour/src/pp/ppcore.c
  * harbour/src/rdd/workarea.c
  * harbour/src/rdd/dbcmd.c
  * harbour/src/rdd/dbf1.c
  * harbour/include/dbinfo.ch
  * harbour/include/hbapifs.h
  * harbour/include/hbvmopt.h
  * harbour/include/hbvmint.h
  * harbour/include/hbrddntx.h
    * renamed xHarbour to Harbour in some of my comments
2010-06-14 22:59:27 +00:00
Viktor Szakats
83bab940b8 2010-06-14 15:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/dynlibhb.c
  * include/hbthread.h
    + Added QNX support.

  * src/rtl/hbzlib.c
    ! Added hack to fix missing zlibVersion() and zError()
      functions from the zlib lib shipped with QNX 6.2.1.

  + config/qnx/libs.mk
    + Added QNX specific lib configuration.

  * utils/hbmk2/hbmk2.prg
    + Added (untested) list of system libs for qnx/gcc.

  * INSTALL
    + Added QNX reference to one more place.

  ; NOTE on QNX:
      All binaries build cleanly, hbtest works.
  ; TOFIX/TODO:
      - hbrun seems to misdetect the width of the terminal
      - Clean some hack in QNX port
      - platform autodetection
      - retest whole port from vanilla SVN source, test MT
        linkage.

  ; So now Harbour can run in cars, planes and spaceships.
2010-06-14 13:35:19 +00:00
Viktor Szakats
4020ab88cb 2010-06-14 14:23 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbffind.c
  * src/rtl/fstemp.c
  * src/rtl/filesys.c
  * src/rtl/fssize.c
    ! Fixed to use '#define _LARGEFILE64_SOURCE 1' instead of
      'define _LARGEFILE64_SOURCE' to fix compilation on QNX.
      This replaced previously added hack for stat64 in two
      locations.

  * src/rtl/hbzlibgz.c
    ! Protected gzungetc() and gzclearerr() calls with 'ZLIB_VERNUM >= 0x1202'
    ; QNX 6.2.1 ships with zlib 1.1.3.

  * src/rtl/gttrm/gttrm.c
    ! Added fix to compile when SA_RESTART is not available (in QNX).
    ; TOFIX: Replace this with some more meaningful solution.

  * src/rtl/hbzlib.c
    ! Fixed to compile when compressBound() is not available.
      The detection is hackish because proper zlib version detection 
      is not available here yet.

  * src/rtl/hbznet.c
    ! Fixed to build with older zlib versions where Z_RLE and/or 
      Z_FIXED are not available.

  * include/hbdefs.h
    ! Fixed stdint handling for QNX.
2010-06-14 12:23:46 +00:00
Viktor Szakats
9adc0c8611 2010-06-14 11:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
  * include/hbsetup.h
  * utils/hbmk2/hbmk2.prg
    + Added experimental support for QNX operating systems.
      Tested with 6.2.1.

  + config/qnx
  + config/qnx/gcc.mk
  + config/qnx/global.mk
    + Added qnx GNU make files. For now this is a simple copy
      of linux ones.

  * src/common/hbgete.c
  * src/common/hbprintf.c
    + HB_OS_QNX tweaks.

  * src/common/hbffind.c
  * src/rtl/fssize.c
    ! Disabled stat64 for HB_OS_QNX.

  * src/common/hbffind.c
    ! Fixed very old error in default (todo) branch 
      where hbrtl function was mistakenly referenced.

  * external/Makefile
  * contrib/Makefile
  * contrib/sddoci/Makefile
  * config/none.mk
  * config/global.mk
  * config/bin.mk
  * config/dir.mk
    + Since QNX has GNU Make 3.79.1, I had to re-xmastree
      the GNU Make files (though I didn't restore the xmas
      indentation), plus restore all logic that dealt
      with older GNU Make versions. Also added some new logic.
    + Changed to give warning only when using older than
      3.81 make versions. Some feature are disabled in this case,
      f.e. HB_BUILD_PKG (win/dos specific feature)
    ; TOFIX: host platform and cpu detection relies on $(eval)
             which is not present on pre 3.80.

  ; habour and hbpp builds fine, but there are several remaining
    problems in rtl and vm.

  * mpkg_nightly.sh
    + Added feeback about what the script does.
    + Using -q for zip to lessen large amount of unnecessary feedback

  * external/pcre/pcre.dif
  * external/pcre/Makefile
    ! Tweak to make PCRE build on djgpp 2.3
      Patch by Tamas Tevesz (2nd version posted on dev list)
2010-06-14 09:59:41 +00:00
Viktor Szakats
8d05b7906f 2010-06-10 19:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
  * include/hbsocket.ch
    * Minor corrections.
2010-06-10 17:30:22 +00:00
Viktor Szakats
8223f81fa6 2010-06-10 18:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbcom.ch
    * Changed functions names to use proper camelcasing so that
      they also hold true for C level API.

  * include/hbsocket.ch
    + Readded .prg level function names to address array constant
      comment.
    + Added 'this is also used in C file' comment.

  * contrib/hbsms/hbsms.prg
    ! Fixed COM port reading function after last update.
      I finally restored original defaulting logic (instead of
      FETCHCHARS() method) which by default waits for 64 bytes
      and 5 seconds. Pls check me.
2010-06-10 16:45:33 +00:00
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